学习摘要:

ASP.NET 2.0 增加了一个新特性: Event Validation. 这个特性会对 PostBack 的值进行验证,确保是合法的值。其实现原理是在页面 Render 的时候,ASP.NET 引擎会对控件的可能的值以及控件的 UniqueID 进行 hash 计算,得到一个值。页面里所有需要回发的控件的这些计算值就组成了一个列表,组合后放在隐藏字段 __EVENTVALIDATION 中。在页面回发后,会对这个字段的内容进行解包,然后重新计算对比 hash 值是否一致。这个做法的好处是能够防止一些模拟的 post 攻击,但也有一个不方便的地方,就是有时候如果需要用 javascript 修改页面里的一些内容,则回发后不会被当作合法的数据,而抛出一个异常。
另外,如果页面非常大或者网速缓慢,用户在还没有下载到 __EVENTVALIDATION 这个字段的时候就点下 submit,导致回发数据不完整,也会导致异常的发生。

解决这个问题的办法是在 Page 的 Directive 里面禁用 EventValidation,目前还没有针对单独控件进行禁用的办法。

<%@ Page EnableEventValidation="false" %>

原文地址:
http://odetocode.com/Blogs/scott/archive/2006/03/20/3145.aspx

ASP.NET 2.0 的 Event Validation相关推荐

  1. Scott Mitchell 的ASP.NET 2.0数据教程之三十九:: 在编辑和插入界面里添加验证控件...

    原文 | 下载本教程中的编码例子 | 下载本教程的PDF版 导言 到目前为止的讨论编辑DataList的教程里,没有包含任何验证用户的输入,即使是用户非法输入- 遗漏了product的name或者负的 ...

  2. ASP.Net 2.0窗体身份验证机制详解(FormsAuthentication) (转载)

    ASP.Net 2.0窗体身份验证机制详解(FormsAuthentication) 收藏 转自:http://www.aspxclub.com/l12/c_3689.html 本篇文章介绍了在ASP ...

  3. [转载] 使用 Web 标准生成 ASP.NET 2.0 Web 站点

    参考链接: 使用super访问Java祖父母的成员 Stephen WaltherSuperExpert.com 适用于: Microsoft ASP.NET 2.0 (Beta 2) Microso ...

  4. ASP.NET 2.0数据教程之三十六 在DataList里编辑和删除数据

    导言 概述插入.更新和删除数据 里我们已经学习了如何使用GridView等控件来插入,更新删除数据.通过ObjectDataSource和其它数据控件仅仅只需要在智能标签里勾一下checkbox就完成 ...

  5. 创建符合标准的、有语意的HTML页面——ASP.NET 2.0 CSS Friendly Control Adapters 1.0发布...

    ASP.NET 2.0提供了非常多的Web开发中常用到的复杂控件,例如Menu.GridView.Login等.虽然这些控件使用方法极为简单,且功能异常强大,但若你查看一些由这些控件所生成的HTML代 ...

  6. ASP.NET 2.0的异步页面刷新真给劲

    ASP.NET 2.0的异步页面刷新功能真得很酷,今天尝试用它解决我的一个应用问题,真是帮了大忙了. 我的页面要向后台的socket服务提交一个查询,首先这是一个可能长时间不返回的操作:其次为了拿到s ...

  7. 你可能已经知道或者不知道的ASP.NET 2.0技巧(转载)

    1.在CallBack之后保持滚动条的位置 在Asp.Net1.1中,CallBack之后保持滚动条的位置是一件非常痛苦的事情,特别是页中有一个Grid并且想要编辑特定的行.为了不停留在想要得行,页面 ...

  8. Asp.Net MVC3.0网站统计登录认证的在线人数

    前言 对于一个网站来说,统计在线人数是一个很重要的工作.平时也发现很多的网站论坛等都有在线人数的显示.对于一个网站如果在线人数很多,用户看到了这么个数字也是很了不起的事情.由于之前对于这个知识点只是知 ...

  9. Asp.Net 2.0中的客户端脚本

    在使用 ASP.NET 的时候,我们仍然在许多情况下需要使用客户端脚本.以下是笔者根据自己的经验和一些粗浅的研究,对此作一个简要的总结. 一.在 HTML 里直接写脚本 这个方法是最简单的,直到如今我 ...

最新文章

  1. NGUI_Texture
  2. 记一次被js中的this坑的事情
  3. disk genius_如何预约Apple Store商店或Genius Bar
  4. 【图论】【高精】产生数(ssl 1021/ luogu 1037)
  5. 【腾讯Bugly干货分享】Android内存优化总结实践
  6. ae制作数据可视化_我如何精心制作真正可怕的数据可视化
  7. 人人都是程序员的节奏,Python 纳入高考
  8. Consul架构介绍
  9. mfc读取bmp文件_LIUNX 工程bmp.c 显示图片 开发板出来的图片只有一个角 求大佬解决...
  10. 什么是JAP,什么是ORM,与hibernate的关系
  11. lvm 的用法和小案例
  12. 计算机显示器出现黑屏分析
  13. V.PhyloMaker:维管束植物系统发育树构建实践
  14. Hive SQL之表与建表
  15. Python实现问卷星表单机刷
  16. 360无线wifi路由器连接到服务器,luyou.360.cn如何登录360路由器
  17. java开发深圳平均工资_深圳2017平均工资100173元!!这次你又又又拖后腿了吗!?...
  18. week10 day1 JavaScript
  19. oracle数据库与实例的区别与联系
  20. 双减背景下小学中年级语文单元整体作业设计的实践研究

热门文章

  1. DDoS***、CC***的***方式和防御方法
  2. Hawk使用补充说明
  3. 创建ssh 服务的镜像
  4. Skype for Business Server 2015-06-持久聊天服务器-3-配置
  5. 嵌入式开发之davinci--- ipnc中用到的cmem
  6. IE二级链接无法打开
  7. 经理=PD + Architect + PM + HR
  8. 区块链应用和法律规范
  9. Ubuntu 16.04服务器版查看DHCP自动分配的IP、网关、DNS
  10. MySQL 5.7 SYS SCHEMA