Как обновить GridView внутри UpdatePanel? - PullRequest
0 голосов
/ 07 февраля 2012

У меня есть многостраничное сеточное представление, вызовите gvChild, который находится внутри UpdatePanel.

Проблема в том, что когда я перехожу с 1-й страницы на 2-ю страницу, когда я выбираю одну строку gvChild, значениене обновляется.На самом деле я использую 'row' для сохранения информации 'store' внутри GridView, когда я нажимаю на одну из 'rows', обновляется gvChild.SelectedDataKey.Но когда я щелкаю по строке на второй странице, SelectedDataKey только 'null', это хитроумно ...

Так что я думаю, как обновить свою UpdatePanel, когда меняется страница просмотра сетки.Я искал в Google и попытался добавить триггер для моего gridview -gvChild и установил EventName в «PageIndexChanging», но он не работает.Большое спасибо!

<asp:UpdatePanel ID="upnlChild" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
    <ContentTemplate>
        <div>
            <div class="grid">
                <div class="rounded">

                    <div class="mid-outer">
                        <div class="mid-inner">
                            <div class="mid">
                                <asp:GridView SkinID="mastertable" ID="gvChild" runat="server" OnRowDataBound="gvChild_RowDataBound"
                                    OnRowCommand="gvChild_RowCommand" DataKeyNames="StoreID" OnSelectedIndexChanged="gvChild_SelectedIndexChanged"
                                    OnPageIndexChanging="gvChild_PageIndexChanging" OnSorting="gvChild_Sorting">
                                    <Columns>
                                        <asp:BoundField HeaderText="&nbsp;ID" DataField="StoreID" SortExpression="StoreID"
                                            ItemStyle-CssClass="first">
                                            <ItemStyle CssClass="first"></ItemStyle>
                                        </asp:BoundField>
                                        <asp:BoundField HeaderText="Store #" DataField="StoreNum" SortExpression="StoreNum" />

                                    </Columns>
                                    <PagerTemplate>
                                        <div class="pager">
                                            <asp:ImageButton CommandName="Page" SkinID="first" CommandArgument="first" ID="btnChild_First"
                                                runat="server" CausesValidation="false" />
                                            <asp:ImageButton CommandName="Page" SkinID="prev" CommandArgument="prev" ID="btnChild_Prev"
                                                runat="server" CausesValidation="false" />
                                            <asp:Label ID="lblPage" runat="server" Text="Page"></asp:Label>
                                            <asp:DropDownList ID="ddlChild_Pages" runat="server" OnSelectedIndexChanged="ddlChild_Pages_SelectedIndexChanged"
                                                AutoPostBack="True">
                                            </asp:DropDownList>
                                            <asp:Label ID="lblPageCount_Child" runat="server"></asp:Label>
                                            <asp:ImageButton CommandName="Page" SkinID="next" CommandArgument="next" ID="btnChild_Next"
                                                runat="server" CausesValidation="false" />
                                            <asp:ImageButton CommandName="Page" SkinID="last" CommandArgument="last" ID="btnChild_Last"
                                                runat="server" CausesValidation="false" /></div>
                                    </PagerTemplate>
                                </asp:GridView>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <asp:Button ID="btnChild_Add" runat="server" Text="Add Store" OnClick="btnChild_Add_Click"
            CausesValidation="false" />
    </ContentTemplate>

    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="gvChild" EventName="PageIndexChanging" />
    </Triggers>

</asp:UpdatePanel>
...