page_load执行之前的EventValidation异常 [英] EventValidation exception before page_load executes
问题描述
我有一个场景需要通过javascript在asp:dropdownlist中添加一个值(''N / A'')。但是当页面回发时它会导致Control.ValidateEvent()方法抛出事件验证异常。
在浏览网页上的几个帖子时我才知道.NET当enableEventValidation为true时,出于安全目的拒绝在服务器端动态添加DOM组件。
为了深入理解这个概念我禁用了viewstate for dropdown并在page_load上添加了一个虚拟值,如下所示:
Hi,
I have a scenario where I need to add a value (''N/A'') in asp:dropdownlist by javascript. But when page posts back it is causing eventvalidation exception thrown by Control.ValidateEvent() method.
while going through couple of posts on web I came to know that .NET rejects dynamically added DOM components at server side for security purpose when enableEventValidation is "true".
To understand the concept in depth I disabled viewstate for dropdown and added a dummy value on page_load as below:
if (!IsPostBack)
{
ListItem li = new ListItem("NJ", "NJ");
ddnState.Items.Add(li);
}
如果我从前端选择''NJ',我预计在禁用dstState的视图状态后。然后.net应该通过事件验证异常(因为''NJ''在下拉列表的初始化时不可用,类似于动态添加的DOM valule情况)..但它进展顺利!
任何输入都是很好的。谢谢!
问候,
Divya
I expected that after disabling the viewstate for dropdown ddnState if I select ''NJ'' from front end.. then .net should through eventvalidation Exception (as ''NJ'' is not available at the initialization time of dropdown, similar to dynamically added DOM valule case) .. but it went well !
Any inputs are welocome. Thanks !
Regards,
Divya
推荐答案
页面加载到预渲染发生在实际呈现页面之前。
因此,当页面呈现时,页面加载中添加的新值已经注册
与控制。因此不会抛出验证异常
Page load to pre render happens before the actual rendering of page happens.
So when the page is rendered the new value added in Page Load is already registered
with the control. So the validation exception is not thrown
这篇关于page_load执行之前的EventValidation异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!