我对同一个问题有不同的实现。
与某些数据绑定的gridview,它有一个带有按钮的select列。当按钮单击被触发时,我在调试中知道:sender.SelectedDataKey和sender.SelectedIndex具有我稍后使用的值。
但现在我想使用ajax手风琴控制。我有一个手风琴,里面有一个Pane。在该窗格中,我有一个CollapsiblePanel(使用CollapsiblePanelExtender)。在那个CollapsiblePanel中我有我的Gridview。 因此,只有当我点击collapsiblePanel时,我才想从DB获取数据并将其绑定到GridView。但是当PageIndexChanging激发时,似乎使用此methot发送者.SelectedDataKey和sender.SelectedIndex是Nothing(VB)! 这没有任何意义!
GridView是两个实现中的一些,EnableViewState = true
谢谢。
答案 0 :(得分:1)
由于Accordion Panel是一个Ajax控件,它可能会在那里添加更新面板,即使你没有在页面中添加一个。由于GridView位于Ajax控件内部,因此GridView将触发的所有事件都将由Ajax捕获。您可以尝试使GridView按钮单击Ajax回调。
我在Ajax Update Panel或Ajax控件内部的控件之前遇到过这个问题;例如Accordion Panel,触发服务器端事件处理程序,但由于涉及Ajax,值被卡在客户端。
答案 1 :(得分:0)
确保您的控件位于同一个UpdatePanel中,或更新各种容器UpdatePanel。