首页 > 编程 > .NET > 正文

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

2024-07-10 13:08:43
字体:
来源:转载
供稿:网友


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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表