我正在使用asp.net页面调用另一个包含GridView的ASPX页面,其中包含更新面板内的分页
我通过jquery调用页面并且加载正常但是当我点击Gridview分页时,网格视图消失
<div id = "divParent">
</div>
$(document).ready(function () {
BindDiv('divParent', 'Parent.aspx');
});
function BindDiv(DivID, url) {
$('#' + DivID).empty();
$('#' + DivID).append('<img src="Images/ajax_loader.gif" alt="Loading..." />');
$.get(url, function (response) {
$('#' + DivID).empty();
$('#' + DivID).append($(response).find('#ParentContainer'));
});
}
第二个aspx页面代码
<div id = "ParentContainer">
<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers ="true" UpdateMode ="Conditional">
<ContentTemplate>
<asp:GridView ID="gvParent" runat="server" SkinID="gvParent" AutoGenerateColumns="False"
AllowSorting="true" AllowPaging="true" PageSize="10" OnPageIndexChanging="gvParent_PageIndexChanging">
<Columns>
<asp:TemplateField HeaderText="Customer ID" SortExpression="CustomerID">
<ItemTemplate>
<asp:Label ID="lblCustomerID" runat="server" Text='<%# Eval("CustomerID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="First Name" SortExpression="Fname">
<ItemTemplate>
<asp:Label ID="lblFname" runat="server" Text='<%# Eval("Fname") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
plz帮助 提前谢谢
答案 0 :(得分:0)
你混淆了一切 了解每个部分在这里所做的事情,并了解为什么这不起作用。
Parent.aspx
页面包含GridView,并且在她内部的UpdatePanel需要回发到同一页面并从同一页面返回工作。
具有jQuery并加载Parent.aspx
的另一个页面获取结果,将其呈现到不同的页面,Parent.aspx
包含的javascript永远不会运行。现在Parent.aspx
的完整代码在其他页面中,您尝试再次对Parent.aspx
进行ajax调用,并获得结果吗?
网格视图是一种“开箱即用”的控件,需要一些标准的方法来正确工作。 UpdatePanel的设计可以容纳GridView,它们可以一起工作,因为它们一直是这样设计的。
如果添加jQuery加载,则需要自定义所有逻辑,以进行自定义网格视图,自定义调用等。
如果你混淆了它们,它们很简单就行了。