不带回发的ASP.NET GridView分页

g0czyy6m  于 2023-03-20  发布在  .NET
关注(0)|答案(4)|浏览(171)

只是问你们一个小问题。
我有一个更新面板内的网格视图。我的模态弹出窗口拉这个面板了。我很好到目前为止。
然而,当我试图对弹出的网格视图进行分页时,页面回发。
然后模态弹出窗口消失,我的GridView也消失了。
当我再次单击我的按钮时,它显示网格视图的模态弹出窗口和网格视图中的下一页内容。
有没有什么方法可以让这个网格视图在不回发和不丢失模态弹出窗口的情况下进行分页?
任何帮助将不胜感激。
谢谢你,

3pvhb19x

3pvhb19x1#

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

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

xiozqbni2#

您应该具有以下布局:

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

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

5uzkadbs

5uzkadbs3#

弹出窗口应该只在取消控制ID/确定控制ID被点击时消失。2多于一个的更新面板可能会有点麻烦。
您是否正在处理页面更改事件。

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

这并不重要(从这个问题的Angular 来看),但您的更改将updateMode更改为Conditional。

6qfn3psc

6qfn3psc4#

我希望这对某些人有帮助,Matthew Jones answer为我工作过,如果你在用户控件中有网格视图,并且父aspx页面有ModalPopupExtender,请使用网格视图的OnPageIndexChanged

protected void gvAccountSearch_PageIndexChanged(object sender, EventArgs e)
{
    try
    {
        var popup = Parent.FindControl("mdlAccount") as ModalPopupExtender;
        if (popup != null)
            popup.Show();
    }
    catch (Exception)
    {
    }
}

相关问题