描述
ASP.net 添加了"event validation"的功能, ASP.NET会检查 POST方法中的所带的参数,如果认为不合法,就会抛出异常,信息如下:
这个设计的目的是为了防止恶意用户利用post 方法发送一些恶意数据.但是有时一些常见的case也会出错,比如使用客户端脚本,根据页面上的其他控件的内容来改变一个dropdown list的内容,最常见的case就是省市县3级联动菜单.又比如在页面上添加一个dropdown list,然后给它添加3个item,再使用客户端脚本在dropdown list中添加一个item,如果dropdown list的AutoPostBack="True",每次选择list
item都会引起postback, 如果所选的item为dropdown list本来就有的,一切正常.如果所选的item是通过客户端脚本添加的,就会出现异常.在asp.net render DropDownList 时,会遍历DropDownList的item,并记录所有可能的postback的值,其算法为
hash(DropDownList’s UniqueID XOR hash(ListItem’s Value property)),计算的结果会被保存在page中,
这个过程发生在control的Render()方法中当页面postback时,ASP.NET会根据这个隐藏值检查postback values,如果找不到对应信息,就会报错
解决方法
1. 禁止这个功能, 但同时会失去一些安全保障:
2. Register For Event Validation,其原理就是让asp.net记录这个postback value.RegisterForEventValidation必须在render时调用:
如果我们自己写了一个control,需要使用validate events功能,就需要使用SupportsEventValidation attribute,
3. Form嵌套,一个页面只能有一个Form,仔细检查代码。
分享到:
相关推荐
我们现在来看看ASP.NET整个Postback程序处理的过程。 首先我们通过一个Sample来看ASP.NET如何处理一个通过Click一个Button引起的Postback。下面是Web Page的HTML: 代码如下: <%@ Page Language=”C#” ...
例程基于ASP.NET webforms框架,采用POSTBACK技术,展现了对数据库相关的各项操作与内容展示,并实现了分页显示。相关数据库请下载本人资源《中国省级区域概况-ASP.NET例程数据库(SQL2008R2)》...
Asp.Net2.0无刷新客户端回调 体验.net 2.0 的优雅(1) -- 异步WebService调用 ASP.NET 2.0页面框架的几点新功能 ASP.NET 2.0 中收集的小功能点 asp.net2.0中的webpart使用小记 2.0问题、错误解决办法 ASP.NET 2.0...
一個範例學通 PostBack觀念,瞬間領悟ASP.NET精髓! 深入剖析GridView範例,寫程式徹底控制GridView、ListView。 。 七個範例學會 RowDataBound事件,打造您專屬的GridView畫面與功能。 最精華的ADO.NET理論...
修正了7.1版中设置SubmitButtonImageUrl属性后,Postback回发分页方式情况下点击数字页索引按钮不引发分页事件的bug; 修正了使用Url分页时,如果页面上没有服务器端form控件时无法注册客户端脚本的bug,从7.2版起...
第一部分 使用ASP.NET Web表单 <br>第1章 建立ASP.NET页面 <br>1.1 ASP.NET和.NET框架 1.1.1 .NET框架类库 1.1.2 理解名称空间 1.1.3 标准的ASP.NET名称空间 1.1.4 与.NET框架兼容的语言 ...
4.5.3 使用带参数的回调功能 110 4.6 小结 113 第5章 ASP.NET Web服务器控件 115 5.1 Web服务器控件概述 115 5.2 Label服务器控件 116 5.3 Literal服务器控件 118 5.4 TextBox服务器控件 119 5.4.1 使用Focus...
创建ASP.NET网站,首先需要创建网站,单击【文件】按钮,在下拉菜单中选择【新建网站】选项,单击后会弹出对话框用于ASP.NET网站的创建,如图4-1所示。 图4-1 新建ASP.NET网站 在【位置】选项中,旁边的【下拉菜单...
①response.redirect 这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳 转到任何页面,没有站点页面限制(即可以由雅虎跳到... ASP.NET] 代码如下: using System; using System.Web.UI
asp.net中的FileUpload控件一次只能实现上传一个文件,若要上传多个文件的话必须使用多个FileUpload控件,但一次上传多少个文件有时不确定,所以就想到了动态创建控件。此处是用下拉列表控件的postback控制的,要想...
Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security ...
内容包括:ASP.NET Web表单的使用,高级ASP.NET页面的开发,ADO.NET的使用,ASP.NET应用程序的使用, ASP.NET应用程序的保护,ASP.NET Web服务的建立,.NET框架的利用,自定义的ASP.NET控件的建立,ASP.NET的应用...
c#语音编写的表单提交,及页面的postback文题!
执行过postback操作的web页面在刷新的时候,浏览器会有“不重新发送信息,则无法刷新网页”的提示,若刚刚执行的恰好是往数据库插入一条新记录的操作,点[重试]的结果是插入了两条重复的记录,以前一直是用保存数据...
最近在使用ASP.net 2.0的GridView 控件时,发现排序与分页功能Microsoft实现的都很简单,比如排序,在点击列名的时候来触发整页的PostBack,然后排序,但是在列头上没有一个显示升序降序的图标,这会让最终用户使用...
4.5.3 使用带参数的回调功能110 4.6 小结113 第5章 ASP.NET Web服务器控件115 5.1 Web服务器控件概述115 5.2 Label服务器控件116 5.3 Literal服务器控件118 5.4 TextBox服务器控件119 5.4.1 使用Focus()方法120 ...
第一部分 使用ASP.NET Web表单 <br>第1章 建立ASP.NET页面 <br>1.1 ASP.NET和.NET框架 1.1.1 .NET框架类库 1.1.2 理解名称空间 1.1.3 标准的ASP.NET名称空间 1.1.4 与.NET框架兼容的语言 ...
第一部分 使用ASP.NET Web表单 <br>第1章 建立ASP.NET页面 <br>1.1 ASP.NET和.NET框架 1.1.1 .NET框架类库 1.1.2 理解名称空间 1.1.3 标准的ASP.NET名称空间 1.1.4 与.NET框架兼容的语言 ...
第一部分 使用ASP.NET Web表单 <br>第1章 建立ASP.NET页面 <br>1.1 ASP.NET和.NET框架 1.1.1 .NET框架类库 1.1.2 理解名称空间 1.1.3 标准的ASP.NET名称空间 1.1.4 与.NET框架兼容的语言 ...