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

时间:2010-12-17 10:05:30

标签: gridview updatepanel paging

我在UpdatePanel中的GridView中应用了分页。当我向前移动到下一个结果集时,在我的Page上发生了回发。我需要在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

3 个答案:

答案 0 :(得分:0)

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

<xhtmlConformance mode="Transitional"/> 
web.Config文件中的

元素。

答案 1 :(得分:0)

我们必须在system.web下执行此条目,但它对我来说无效。我在MOSS中使用网格。在此条目之后,完整的帖子再次完成

答案 2 :(得分:0)

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

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

        {
            return document.getElementById(clID);  
        }       

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