【问题标题】:ASP.NET 3.5.1 GridView in Update Panel requerying on row select?更新面板中的 ASP.NET 3.5.1 GridView 重新查询行选择?
【发布时间】:2010-10-14 10:05:11
【问题描述】:

我有一个绑定到 ObjectDataSource 的 GridView,并且我正在使用标准解决方案处理完整的行选择,该解决方案提供了将这一行放入 OnRowDataBound() 的整个过程:

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

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

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

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

【问题讨论】:

    标签: asp.net gridview select refresh


    【解决方案1】:

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

    If (!IsPostBack)
    {
    
    }
    

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

    【讨论】:

    • 事实证明不是......但它不会让我感到惊讶!哈哈。我想我已经决定这个页面太复杂了,可以归结为一个简单的例子,它按原样工作,我不会以这种方式传递视图状态的数据,所以我决定要开心。不过谢谢! :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多