0

更新パネル内のページングを使用してGridViewを含む別のASPXページを呼び出すasp.netページを使用しています

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')); 

        });
    }

2番目の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は事前に感謝を助けます

4

1 に答える 1

0

あなたはすべてを混同しています。
ここで各部分が何をするのかを理解し、これが機能しない理由を理解します。

Parent.aspxGridViewを保持し、その中にUpdatePanelがあるページは、同じページにポストバックし、同じページから戻って機能する必要があります。

jQueryを持ち、をロードする他のページはParent.aspx、結果を取得し、それを別のページにレンダリングし、を含むjavascriptParent.aspxは実行されません。これで、の完全なコードがParent.aspx他のページ内にあり、もう一度ajax呼び出しを行おうとすると、Parent.aspxどこで結果が得られますか?

グリッドビューは「すぐに使える」コントロールであり、正しく機能するための標準的な方法が必要です。UpdatePanelは、GridViewを保持できる設計であり、そのように設計されているため、連携して機能します。

jQueryの負荷を追加する場合は、そのすべてのロジックをカスタムにして、カスタムグリッドビューやカスタム呼び出しなどを作成する必要があります。

それらを混同すると、単純に機能しなくなります。

于 2012-12-21T14:02:49.010 に答える