.net学习笔记

本文总结了ASP.NET开发中的一些实用技巧,包括如何检查控件类型、避免Repeater控件在非回发时绑定数据导致的错误、使用参数化查询防止SQL注入攻击、利用URI对象获取URL信息的方法、以及在GridView无数据时显示空表头的技术。

1.对某一类型不确定时可以直接用Response.Write进行输出查看,可以直接输出类的类型.如可以在Repeater的ItemDataBound事件中直接输出Response.Write(e.Item.DataItem),即可看到输出为System.Data.Common.DbDataRecord,即e.Item.DataItem可以转化为System.Data.Common.DbDataRecord.

2.通常情况下,如果不是要求每次加载页面都执行一遍绑定代码,将绑定控件数据的代码放在!IspostBack中。另外如果在Page_Load中绑定TextBox/Button/DropDownList等,不管是否放在!IsPostBack中,页面都会顺利执行,不会出错,例外情况是,如果在Page_Load中绑定了Repeater控件,同时没有放在!IsPostBack中,页面执行则会出错:回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。

3.在执行SQL语句时,尽量用参数化的SQL语句执行,在SQL参数中指定了参数类型后不用过滤单引号,只需判断对应的参数是否为相应的数据类型即可,即字符参数为字符,数字参数为数字。如果直接拼接SQL语句,如下例:SELECT * FROM NewsClass WHERE ClassName = ''公司动态',则会出错。

4.URI对象示例

 

获取URI:http://127.0.0.1:8019/admin/test.aspx?Action=AddClass
获取URI的绝对路径:/admin/test.aspx
获取绝对URI:http://127.0.0.1:8019/admin/test.aspx?Action=AddClass
获取服务器的DNS主机名或IP地址和端口号:127.0.0.1:8019
获取URI的主机部分:127.0.0.1
获取URI中指定的主机名类型:IPv4
指示是否绝对URI:True
获取文件名的本地操作系统表示形式:/admin/test.aspx
获取用问号分隔的绝对路径和Query属性:/admin/test.aspx?Action=AddClass
获取主机端口号:8019
获取URI中包含的任何查询信息:?Action=AddClass
获取此URI的方案名称:http

5.gridview无数据时显示空表头。

下面代码放在Page_Load的!IsPostBack中;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值