错误信息如下:
Invalid postback or callback argument. Event validation
is
enabled
using
<
pages enableEventValidation
=
"
true
"
/>
in
configuration or
<%
@ Page EnableEventValidation
=
"
true
"
%>
in
a page. For security purposes,
this
feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data
is
valid and expected, use the ClientScriptManager.RegisterForEventValidation method
in
order to register the postback or callback data
for
validation.
大致在园子里搜索了下,原因如下:
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="AEBnx7v.........tS" />
在我们的页面PostBack的时候,asp.net会根据存储在这个隐藏控件中的Value来校验你点击的BUTTON被委托的事件是不是有效的.如果无效,就会产生上述异常.
通常产生这个错误都是由于在该隐藏控件还没有被RENDER出来之前执行了POSTBACK
目前的解决办法有2个:
1:禁用事件校验,不过这个会产生安全问题, <pages enableEventValidation="false"/>
2:通知用户等页面完全输出后再执行相关操作:),这个有点^_^