Как предотвратить постбэк на пейджинг GridView в UpdatePanel - PullRequest
1 голос
/ 17 декабря 2010

Я применил подкачку в GridView, который находится в UpdatePanel. Когда я перехожу к следующему набору результатов, на моей странице происходит полный постбэк. Мне нужно внести некоторые изменения в файл 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 голосов
/ 05 февраля 2011

эту запись мы должны сделать в syste.web, но она не сработала для меня. я использую сетку в MOSS. после этой записи полный пост назад был сделан снова

0 голосов
/ 24 февраля 2011

У меня похожая проблема. Это решено с помощью Настоящая проблема в том, что я использовал tdXXXXX = de ('_ ctl0_CPB_XXXXX');

где de - это функция функции de (clID)

        {
            return document.getElementById(clID);  
        }       

Раньше элемент управления отображался правильно как _ctl0_CPB_XXXXX, теперь к нему добавлен дополнительный 0, т.е. _ctl00_CPB_XXXXX. Это используется через приложение, и это вызывает сбои javaScripts. Любые решения.

0 голосов
/ 17 декабря 2010

Я получил решение.Я должен поместить элемент

<xhtmlConformance mode="Transitional"/> 

в файл web.Config.

...