大家下午好,我用的是复读机,在那个中继器里有另一个中继器,每个项目都有一个按钮。当我单击其中一个按钮时,asp.net将返回以下错误:
无效的回发或回调参数。事件验证是在配置中启用的,或者在页面中使用<%@ page EnableEventValidation="true“%>。出于安全考虑,此功能验证回发或回调事件的参数是否来自最初呈现它们的服务器控件。如果数据是有效和预期的,则使用ClientScriptManager.RegisterForEventValidation方法来注册回发或回调数据以进行验证。
但是,当我在页面上添加页面指令EnableEventValidation = "false“时,没有错误,但不会触发事件。
如何解决这个问题呢?
发布于 2011-10-03 19:23:53
您在每次回发时都绑定数据吗?问题可能源于这样一个事实:发送事件的Repeater在回发后不再存在,并且在每次回发后都会创建一个新的Repeater。这就是事件验证失败的原因,您不能从一个动态创建的控件触发事件到另一个控件。它必须是相同的控制。
简单的解决方案是只在页面的第一次加载时绑定数据,并保持启用ViewState。
因此,在Page_Load中:
if(!IsPostBack)
// Bind Repeater Data herehttps://stackoverflow.com/questions/7639601
复制相似问题