通过Jquery调用页面时,GridView分页不起作用

时间:2012-12-21 13:45:30

标签: jquery asp.net ajax gridview

我正在使用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帮助 提前谢谢

1 个答案:

答案 0 :(得分:0)

你混淆了一切 了解每个部分在这里所做的事情,并了解为什么这不起作用。

Parent.aspx页面包含GridView,并且在她内部的UpdatePanel需要回发到同一页面并从同一页面返回工作。

具有jQuery并加载Parent.aspx的另一个页面获取结果,将其呈现到不同的页面,Parent.aspx包含的javascript永远不会运行。现在Parent.aspx的完整代码在其他页面中,您尝试再次对Parent.aspx进行ajax调用,并获得结果吗?

网格视图是一种“开箱即用”的控件,需要一些标准的方法来正确工作。 UpdatePanel的设计可以容纳GridView,它们可以一起工作,因为它们一直是这样设计的。

如果添加jQuery加载,则需要自定义所有逻辑,以进行自定义网格视图,自定义调用等。

如果你混淆了它们,它们很简单就行了。