【发布时间】:2012-05-01 17:35:59
【问题描述】:
我有一个带有下拉列表列的网格视图,并且我启用了分页功能。问题是每次翻到下一页后,上一页下拉列表的选中值又回到默认值。
我尝试用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 放在哪里?谢谢
【问题讨论】:
-
希望此链接能帮助您解决问题。 stackoverflow.com/questions/4189158/…
-
我添加了更多代码。我在 girdview 中的下拉列表没有数据源,只有两个值。还有另一个下拉列表来控制 gridview 分页。当它转到下一页时,页面回发,上一页的下拉列表恢复为默认值。
标签: asp.net