Asp.net小技术总结1
1.页面跳转的方法:
asp.net
Response.Redirect(url)
javascript
<script>window.location.href = url </script>
2.form的enctype属性
通常情况下,使用HTML表单从浏览器向服务器传递数据。这个表单中可能包含文本域、检验框、按钮以及上载文件的文件类型控制。使用者用自己的数据填充并将这个表提交给服务器。
表单元素中的 enctype 属性规定了传递给服务器的表数据集编码的内容类型。enctype 属性的默认值是“application/x-www-form-urlencoded”,但当向服务器传送大量文本、包含非ASCII字符或二进制数的数据时,这个默认类型就不能胜任了。这时,文件上载提交表单时应使用“multipart/form-data”内容类型。
一个“multipart/form-data”信息包含一系列部件,每个部件都可能包含:
一个Content-Disposition(内容-处理)头,其值为"form-data" ;一个规定控制名的name(名称)属性。
3.如果在控件种引用别的文件。要注意文件的路径是相对与控件父文件所在的文件。
4.在vs.net编辑器中,最好别用拷贝粘贴窗体文件.会出错.
5.当自定义控件相互嵌套时,父控件要从INamingContainer继承. 否则无法执行自控件的时间
6.判断DataSet中某行某列的数据是否为空:
if(dr1["card_no"] == System.DBNull.Value) {};
7.使用对象前一定要确认对象是否为空
session cookies viewstate cache 数据,检查数据记录是否存在
8.格式化日期: 12小时制 DateTime.Parse(DataRow["Posted"].ToString()).ToString("yyyy-MM-dd hh:mm:ss");
24小时制 DateTime.Parse(DataRow["Posted"].ToString()).ToString("yyyy-MM-dd HH:mm:ss");
9.浏览器对javascript脚本有缓存能力.注意呀
10.动态的改变<head>或者<title>
<HEAD runat="server" id="Forumheader"></HEAD>
//.cs
System.Web.UI.HtmlControls.HtmlGenericControl ctl;
ctl = (System.Web.UI.HtmlControls.HtmlGenericControl)Page.FindControl("Forumheader");
if(ctl!=null)
{
ctl.InnerHtml +=string.Format("<title>{0}</title>\n",strTitle);
}
<title runat="server" id="ForumTitle">This title is overwritten</title>
//.cs
System.Web.UI.HtmlControls.HtmlGenericControl ctl;
ctl = (System.Web.UI.HtmlControls.HtmlGenericControl)Page.FindControl("ForumTitle");
if(ctl!=null)
{
ctl.InnerText = "sina旅行网";
}
12.
对于运行时间较长的程序或者操作,尽量不要使用web,因为web存在延时,时间过长,会出现异常.比如说导入数据操作,做成控制台程序,或者window程序,远程登录到服务器,上运行,速度快,还不会出现长时异常.
13.string.Format(mystring) mystring不能含有"{",和"}"
14. 编写asp.net复合控件不要忘了实现INamingContainer接口
否则无法获得前台设置的的控件值
15.动态的改变webservices的地址: tong通过url.