【问题标题】:GridView.PageIndexChanging fires but there's no SelectedIndex afected!GridView.PageIndexChanging 触发但没有 SelectedIndex 受到影响!
【发布时间】:2009-04-27 14:53:15
【问题描述】:

对于同一个问题,我有两种不同的实现方式。

与一些数据绑定的网格视图,它有一个带有按钮的选择列。当按钮单击被触发时,我在调试中知道:sender.SelectedDataKey 和 sender.SelectedIndex 具有我稍后使用的值。

但现在我想使用 ajax 手风琴控件。我有一个手风琴,里面有一个窗格。在该窗格内,我有一个 CollapsiblePanel(使用 CollapsiblePanelExtender)。在那个 CollapsiblePanel 中,我有我的 Gridview。 因此,只有当我单击 collapsiblePanel 时,我才想从 DB 获取数据并将其绑定到 GridView。但似乎使用这种方法,当 PageIndexChanging 触发时 sender.SelectedDataKey 和 sender.SelectedIndex 什么都没有(VB)! 这没有任何意义!

GridView 是两个实现中的一些,EnableViewState=true

谢谢。

【问题讨论】:

    标签: asp.net ajax gridview


    【解决方案1】:

    由于 Accordion Panel 是一个 Ajax 控件,即使您没有在页面中添加更新面板,它也可能会在其中添加更新面板。由于 GridView 位于 Ajax 控件内部,因此由 GridView 触发的所有事件都将被 Ajax 捕获。您也可以尝试让 GridView 按钮单击 Ajax 回调。

    在 Ajax 更新面板或 Ajax 控件内部的控件之前,我遇到过这个问题;例如 Accordion Panel,触发服务器端事件处理程序,但由于涉及 Ajax,值被卡在客户端。

    【讨论】:

    • 我也遇到过类似的事情。我正在通过 ajax 在 ajax 更新面板中填充一个字段,但是如果我去阅读它,我会得到原始值而不是客户端显示的值。
    【解决方案2】:

    确保您的控件在同一个 UpdatePanel 中,或者更新各个容器的 UpdatePanel。

    【讨论】:

    • 好建议,但我没有明确使用任何 UpdatePanes。 Ony acoordion 窗格和可折叠面板。还有其他想法吗?不过还是谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多