【问题标题】:How to prevent Postback on GridView paging in UpdatePanel如何防止在 UpdatePanel 中的 GridView 分页上回发
【发布时间】:2010-12-17 10:05:30
【问题描述】:

我已在 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

【问题讨论】:

  • 你为什么有UpdateMode="Conditional"

标签: gridview updatepanel paging


【解决方案1】:

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

<xhtmlConformance mode="Transitional"/> 

web.Config 文件中的元素。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 我没有在 MOSS 上工作过,所以我无法告诉你如何在 MOSS 开发中处理它。
    【解决方案3】:

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

    其中de是函数函数de(clID)

            {
                return document.getElementById(clID);  
            }       
    

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

    【讨论】:

    • 实际上我不明白你的问题。你能解释一下吗。如果你发布一些HTML代码会更好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 2023-03-27
    • 2014-08-21
    • 1970-01-01
    • 2012-05-24
    • 2020-06-10
    • 1970-01-01
    相关资源
    最近更新 更多