我在 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
我找到了解决方案。 我必须放
<xhtmlConformance mode="Transitional"/>
web.Config 文件中的元素。
这个条目我们必须在 syste.web 下完成,但它对我来说不起作用。我正在使用 MOSS 中的网格。在此条目之后,再次完成完整回发
我也有类似的问题。它通过使用解决 真正的问题是我使用了 tdXXXXX = de('_ctl0_CPB_XXXXX');
其中 de 是函数 function de(clID)
{
return document.getElementById(clID);
}
以前控件被正确渲染为_ctl0_CPB_XXXXX,现在它附加了一个额外的0,即。 _ctl00_CPB_XXXXX。这是在整个应用程序中使用的,它会导致 javaScripts 失败。有什么解决办法吗