Asp.net和C#开发中的一些注意事项及小技巧

80酷酷网    80kuku.com

  asp.net|技巧

  1、构造函数不能带返回值类型,因为构造函数返回就是对象本身。

  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>");

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: