如何防止 UpdatePanel 中 GridView 分页上的回发

发布于 2024-10-07 22:56:32 字数 1829 浏览 0 评论 0原文

我已在 UpdatePanel 中的 GridView 中应用分页。当我前进到下一个结果集时,我的页面上会发生完整回发。我需要在 web.config 文件或代码中进行一些修改吗?

 [ ASPX ]
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" >
<ContentTemplate>
    <asp:GridView ID="gvCommentSample" runat="server" 
OnPageIndexChanging="gvCommentSample_PageIndexChanging" AllowPaging="true" PageSize="2"
ShowFooter="false" Width="100%" ShowHeader="false" BorderWidth="0px" >
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>

[ CODE BEHIND ]
Dim table As DataTable

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
 If Not IsPostBack Then
    bindGridView()
 End If
End Sub
    Private Function GetTable() As DataTable
        table = New DataTable()
        table.Columns.Add("FirstName")
        table.Columns.Add("LastName")

        Dim row As DataRow = table.NewRow()
        row("FirstName") = "John"
        row("LastName") = "Johnoson"
        table.Rows.Add(row)

        row = table.NewRow()
        row("FirstName") = "Johnny"
        row("LastName") = "Marley"
        table.Rows.Add(row)

        row = table.NewRow()
        row("FirstName") = "Kate"
        row("LastName") = "Li"
        table.Rows.Add(row)

        Return table
    End Function
    Public Sub bindGridView()
        gvCommentSample.DataSource = GetTable()
        gvCommentSample.DataBind()
    End Sub
    Protected Sub gvCommentSample_PageIndexChanging(ByVal sender As Object, ByVal e As GridViewPageEventArgs)
        Dim gvCommentSample As GridView = DirectCast(sender, GridView)
        gvCommentSample.PageIndex = e.NewPageIndex
        gvCommentSample.DataSource = GetTable()
        gvCommentSample.DataBind()
    End Sub

I have apply paging in GridView which is in UpdatePanel.When I move forward to the next result set full Postback occur on my Page.Do i need to do some modification in web.config file or in my code.

 [ ASPX ]
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" >
<ContentTemplate>
    <asp:GridView ID="gvCommentSample" runat="server" 
OnPageIndexChanging="gvCommentSample_PageIndexChanging" AllowPaging="true" PageSize="2"
ShowFooter="false" Width="100%" ShowHeader="false" BorderWidth="0px" >
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>

[ CODE BEHIND ]
Dim table As DataTable

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
 If Not IsPostBack Then
    bindGridView()
 End If
End Sub
    Private Function GetTable() As DataTable
        table = New DataTable()
        table.Columns.Add("FirstName")
        table.Columns.Add("LastName")

        Dim row As DataRow = table.NewRow()
        row("FirstName") = "John"
        row("LastName") = "Johnoson"
        table.Rows.Add(row)

        row = table.NewRow()
        row("FirstName") = "Johnny"
        row("LastName") = "Marley"
        table.Rows.Add(row)

        row = table.NewRow()
        row("FirstName") = "Kate"
        row("LastName") = "Li"
        table.Rows.Add(row)

        Return table
    End Function
    Public Sub bindGridView()
        gvCommentSample.DataSource = GetTable()
        gvCommentSample.DataBind()
    End Sub
    Protected Sub gvCommentSample_PageIndexChanging(ByVal sender As Object, ByVal e As GridViewPageEventArgs)
        Dim gvCommentSample As GridView = DirectCast(sender, GridView)
        gvCommentSample.PageIndex = e.NewPageIndex
        gvCommentSample.DataSource = GetTable()
        gvCommentSample.DataBind()
    End Sub

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

药祭#氼 2024-10-14 22:56:32

我得到了解决方案。
我必须将

<xhtmlConformance mode="Transitional"/> 

元素放入 web.Config 文件中。

I got the solution.
I have to put

<xhtmlConformance mode="Transitional"/> 

element in web.Config file.

仙气飘飘 2024-10-14 22:56:32

这个条目我们必须在 syste.web 下完成,但它对我来说不起作用。我在 MOSS 中使用网格。在此条目之后,再次完成完整回发

this entry we have to do under syste.web, but it didnt work ou for me. i m using the grid in MOSS. after this entry full post back was done again

開玄 2024-10-14 22:56:32

我有类似的问题。它通过使用解决
真正的问题是我使用了 tdXXXXX = de('_ctl0_CPB_XXXXX');

其中 de 是函数 function de(clID)

        {
            return document.getElementById(clID);  
        }       

以前控件被正确渲染为 _ctl0_CPB_XXXXX,现在它附加了一个额外的 0 ie。 _ctl00_CPB_XXXXX。这是在整个应用程序中使用的,它会导致 javaScripts 失败。任何解决方案。

I have a similar issue. Its solved by using
The real problem is I have used tdXXXXX = de('_ctl0_CPB_XXXXX');

where de is a function function de(clID)

        {
            return document.getElementById(clID);  
        }       

Previously the control was rendered correctly as _ctl0_CPB_XXXXX, now it has appeneded an extra 0 ie. _ctl00_CPB_XXXXX. This is used throught the application, and its causing the javaScripts failures. Any solutions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文