【发布时间】:2010-10-25 16:46:08
【问题描述】:
我真的很讨厌这个错误,因为它很难确定。
在这种情况下,我有一个带有用户控件的页面,其中包含一个网格视图。当单击按钮以查看网格视图中的一条记录时,会打开一个弹出窗口(以模式对话框的形式),允许用户编辑字段。然后,当弹出窗口关闭时,按钮的服务器端代码被触发,最终导致一行代码调用 GridView1.databind();。当这行代码被触发时,我会得到无效的回发错误。如果这一行被注释掉,我不会得到错误。无论我是否真的在弹出窗口中进行任何更改,都会发生这种情况。并且在任何时候都没有客户端代码修改我的控件中的值。
因此,它不喜欢的 gridview 似乎发生了一些变化。我认为这可能与它使用的 ObjectDataSource 有关。我注意到在 gridview 数据绑定之前,ODS InputParameters 是使用 Session 值设置的。无论如何,那里发生了一些变化,导致了这个错误。所以,我试着做:
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
Page.ClientScript.RegisterForEventValidation(GridView1.UniqueID);
base.Render(writer);
}
我也尝试注册 ODS。但是这两种方法都没有解决我的问题。
我该怎么办?在这一点上我完全被难住了。
【问题讨论】:
标签: .net validation gridview events postback