asp.net2.0技术详解Page EnableEventValidation="true"

关于aspnet2.0新添的属性解释,Page EnableEventValidation="true"

添加了"event validation"的功能, ASP.NET会检查 POST方法中的所带的参数,如果认为不合法,就会抛出异常。这个设计的目的是为了防止恶意用户利用post 方法发送一些恶意数据,但是有时一些常见的case也会出错。 1. 禁止这个功能, 但同时会失去一些安全保障: //—-通过web.config <system.web> <pages enableEventValidation="false"/> </system.web> //—-针对某个page <%@ Page EnableEventValidation="false" … %> 2.Register For Event Validation 其原理就是让asp.net记录这个postback value. RegisterForEventValidation必须在render时调用. protected override void Render(HtmlTextWriter writer) { ClientScript.RegisterForEventValidation(_recipeList.UniqueID,"4"); base.Render(writer); } 如果我们自己写了一个control,需要使用validate events功能,就需要使用SupportsEventValidation attribute, [SupportsEventValidation] public class DynamicDropDownList : DropDownList { protected override void Render(System.Web.UI.HtmlTextWriter writer) { Page.ClientScript.RegisterForEventValidation(this.UniqueID, "4"); base.Render(writer); } }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值