.net开发中的一些注意事项及小技巧
2、将字符串转换成日期类型,用DateTime.Parese()或DateTime. ParseExact ()函数。
3、if(!Page.IsPostback){}
使用该函数,使网页仅在第一次加载时运行函数体的内容,在Page_Load()事件中,通常可用于初始化。如果不使用该函数,则可能会在一些控件回传时再次运行if()函数体内的内容,导致相关控件修改后的值没有正确应用。
4、GridView的字段(BoundField)有一个属性HtmlEncode。这个属性用于将HTML进行包装,如果为true(默认值),则原样显示字段内的内容。如果为false,则将字段内相应的HTML标签进行渲染。因此,要使字段内的图片链接显示出来,应设置HtmlEncode=“true”。
5、网页中获取日期后进行格式化的方法:Eval("wtDate", "{0:yyyy-MM-dd}")但在DateTime.Now.Date.ToString("yyyy-MM-dd") 中的字符串格式化却有所不同。
6、NVarChar数据类型,在SQL SERVER 2005中具有NVarChar(max)类型来代表最大为2^32 的数字,但是在.net2.0中并不支持这个类型,NVarChar最大能表示的数仍为4000字节。
7、将字符串类型转换为Guid类型,可将字符串作为Guid构造函数的参数进行传递。
如: Guid gd = New Guid(string);
Guid类型的空值为Guid.Empty ,而非null。
8、最好对各字段都存储值,即便不使用,也就进行初始设置,以避免为空值时,出现数据类型不匹配现象,如DateTime,uniqueIdentifier字段,取出空值进行处理时会带来麻烦。
9、对记录数进行统计,使用类似下面的语句:
int cout =(int)cmd.ExecuteScalar();
10、存储过程中,通配符与参数结合使用,要采用字符串加法,而不能直接放在参数两侧,如下:
WHERE RTRIM(f.ftTitle) LIKE '%'+RTRIM(@searchkey)+'%'
11、要获取list<T>对象中某个项的值,可采用如下方法:
如List<ftInfo> CurrentFault = new List<ftInfo>();//创建一个对象
假设ftInfo类中定义了ftIsResovled属性,那么,要获取CurrentFault的第0项的ftIsResolved值,可通过语名: CurrentFault[0].ftIsResolved 来获得。
12、Input控件中包含有标签的内容(如)时,可能会有如下因为安全问题引起的错误:说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击。通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。
13、显示带有HTML标记的字段内容,如果需要渲染HTML标签,可以设置htmlencode属性为true。设置为false时,字段内的HTML标签将按普通字符显示。也可以使用HtmlEncode()方法来渲染字段内容的HTML标签。
14、LoginStatus控件可以方便地显示登录状态,并且提供登录和注销的快捷链接。但有时并不方便,特别是注销的同时要退出框架网页时,使用该控件就显得力不从心。可以直接使用LinkButton控件,在点击事件中,添加如下两句,就可以实现注销的同时跳转到框架网页的父窗口:
FormsAuthentication.SignOut();
Response.Write("<script language=javascript> window.open('../Default.aspx',target='_top')</script>");
15、C#中关闭窗口:
Response.Write("<script language:javascript>javascript:window.close();</script>");