1

我有一个绑定到 ObjectDataSource 的 GridView,我正在使用标准解决方案处理全行选择,该解决方案将这条线放在 OnRowDataBound() 中:

e.Row.Attributes["onclick"] = this.Page.ClientScript.GetPostBackEventReference(this, "Select$" + e.Row.RowIndex);

所有这一切都在顺利进行,除了我注意到每次行选择更改时我的 ObjectDataSource 都会被击中。我没有在后面的行选择代码中的任何地方执行 BindData(),并且由于选择的结果数据没有改变,我真的不明白为什么网格需要重新绑定。我让 gridview 处理分页和排序,但同样,选择不会改变内容,所以我认为这不会影响它。

我尝试打开网格的视图状态(非常少量的数据),但没有效果。我将 UpdatePanel 设置为条件更新,并将子项设置为 triggers=false,但这会导致数据仍被查询,但屏幕上没有发生更新(哈哈!)。

那里有任何 GridView 大师想尝试一下吗?

4

1 回答 1

1

您是否在 Page_Load() 中缺少以下内容:

If (!IsPostBack)
{

}

这是开发人员非常想念的东西!关注您的事件,您可能会看到某处事件被触发 OnPostBack 并且您正在调用您的数据库代码。

于 2009-03-19T20:50:42.053 回答