ASP.NET GridView分页没有回发

时间:2009-11-12 19:55:56

标签: asp.net gridview asp.net-ajax modalpopupextender

对你们所有人来说只是一个简单的问题。

我在更新面板中有一个网格视图。我的Modal PopUp拉开了这个面板。到目前为止,我很好。

然而,当我尝试在弹出的网格视图上进行分页时,页面发布回来。

然后Modal PopUp消失了,我的GridView也消失了。

当我再次单击mybutton时,它会显示带有网格视图的模态弹出窗口和网格视图中的下一页内容。

有没有什么办法可以让这个网格视图在没有回传的情况下进行分页而不会丢失Modal PopUp?

非常感谢任何帮助。

谢谢,

3 个答案:

答案 0 :(得分:2)

每次更改GridView的页面时,页面都必须回发。但是,您可以通过挂钩到GridView的PageIndexChanged事件来模拟所需的功能:

protected void GridView1_PageIndexChanged(object sender, EventArgs e)
{
    modalPopupExtender1.Show();
}

答案 1 :(得分:0)

你应该有这个布局:

<ModalPopup>
   <UpdatePanel>
       <GridView>
   <UpdatePanel>
</ModalPopup>

这样你的ModalPopup就不会消失,除非你有另一个外部更新面板,并且该updatepanel设置为UpdateMode = Always

答案 2 :(得分:0)

单击CancelControlID / OkControlID时,弹出窗口应该只会消失。超过1个更新面板可能有点棘手。

您是否正在处理页面更改事件。

Private Sub Grid_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles Grid.PageIndexChanging
    Grid.PageIndex = e.NewPageIndex
    Grid.SelectedIndex = -1
    Grid.DataBind()
End Sub

这一点并不重要(从这个问题的角度来看),但是你的更改将updateMode更改为Conditional。