ドロップダウンリスト列を持つグリッドビューがあり、ページング機能を有効にしました。問題は、次のページに移動するたびに、前のページのドロップダウンリストの選択値がデフォルト値に戻ることです。
コードを でラップしようとしましたがif(!ispostback)
、利用可能な最初のページのみ他のページが消えます
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
List<CPDEmployee> employeelist = (List<CPDEmployee>)Cache["EmployeeList"];
unverifiedlist.DataSource = employeelist;
unverifiedlist.AllowPaging = true;
unverifiedlist.PageSize = 10;
unverifiedlist.DataBind();
}
}
protected void PageSelect_SelectedIndexChanged(object sender, EventArgs e)
{
int page = int.Parse(PageSelect.SelectedItem.Text);
unverifiedlist.PageIndex = page;
DataBind();
}
<asp:GridView ID="unverifiedlist" runat="server" AutoGenerateColumns="false" AllowSorting="true" AllowPaging="true" ViewStateMode="Enabled">
<Columns><asp:TemplateField HeaderText="Options" >
<ItemTemplate>
<asp:DropDownList ID="options" runat="server" AutoPostBack="true">
<asp:ListItem Value="1">Verified</asp:ListItem>
<asp:ListItem Value="0">Rejected</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerSettings Visible="false"/>
</asp:GridView>
<asp:DropDownList ID="PageSelect" runat="server" AutoPostBack="true" OnSelectedIndexChanged="PageSelect_SelectedIndexChanged"></asp:DropDownList>
誰もそれを修正する方法を知っていますか、どこに置くべきですか ispostback? ありがとう