0

複数ページのグリッドビューを使用して、大量のデータを表示しています。グリッドビューのコードは次のとおりです。

<asp:GridView ID="unverifiedlist" runat="server" AutoGenerateColumns="false" AllowSorting="true" AllowPaging="true"  OnRowDataBound="unverifiedlist_RowDataBound" style="font-size:12px" >
                        <Columns><asp:BoundField HeaderText="Surname" DataField="Surname" ReadOnly="true"/></Columns>
                        <Columns><asp:BoundField HeaderText="Firstname" DataField="Givenname" ReadOnly="true"/></Columns>
                       ......
                        <Columns><asp:TemplateField HeaderText="Options" >
                                    <ItemTemplate>
                                        <asp:DropDownList ID="options" runat="server" AutoPostBack="true" OnSelectedIndexChanged="options_SelectedIndexChanged">
                                            <asp:ListItem></asp:ListItem>
                                            <asp:ListItem Value="1">Verified</asp:ListItem>
                                            <asp:ListItem Value="2">Rejected</asp:ListItem>
                                        </asp:DropDownList>
                                    </ItemTemplate>
                                 </asp:TemplateField>
                                 <asp:TemplateField HeaderText ="Reason">
                                    <ItemTemplate>
                                        <asp:TextBox ID="reason" runat="server" OnTextChanged ="reason_TextChanged"></asp:TextBox>
                                    </ItemTemplate>
                                 </asp:TemplateField>
                        </Columns>
                        <PagerSettings Visible="false"/>            
            </asp:GridView>


<asp:DropDownList ID="PageSelect" AutoPostBack="true" runat="server" OnSelectedIndexChanged="PageSelect_SelectedIndexChanged"></asp:DropDownList>

ドロップダウンリストを含む「オプション」という列があり、選択されたインデックスが変更されるたびにポストバックして、編集された行を保存します。この頻繁なポストバックを回避しようとしています。ユーザーが次のページに進む前に、ページ全体を保存できればと思います。問題は、「PageSelect」ドロップダウンリストのポストバックが最初にページのリロードをトリガーし、次に onselectedindexchanged イベントをトリガーすることです。この時点で、グリッドビューはすでに次のページに切り替えています。それで、誰か私にアドバイスをもらえますか?

4

2 に答える 2

0

グリッド ビューの EnableSortingAndPagingCallBacks プロパティを true に設定できますが、グリッド ビューでテンプレート フィールドを使用している場合は機能しません。ページの状態を維持するには、セッション中およびページの読み込み時に現在のページの値を保持する必要があります。セッションを確認できます。

于 2012-06-04T13:19:14.993 に答える