複数ページのグリッドビューを使用して、大量のデータを表示しています。グリッドビューのコードは次のとおりです。
<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 イベントをトリガーすることです。この時点で、グリッドビューはすでに次のページに切り替えています。それで、誰か私にアドバイスをもらえますか?