ASP.NET DropDownList SelectedIndex在OnSelectedIndexChanged之后重置

时间:2015-12-01 12:22:32

标签: asp.net

我有一个像这样定义的DropDownList:

<td>
      <asp:DropDownList ID="campagnes" runat="server" AutoPostBack="true" EnableViewState="true" OnSelectedIndexChanged="campagnes_SelectedIndexChanged"></asp:DropDownList>
</td>

我正在Page_Load里面填充DropDownList!Page.IsPostBack检查。

每当我尝试选择其中一个项目时,它将加载页面并重置所选索引。

如果在页面加载后如何保存所选索引?

1 个答案:

答案 0 :(得分:0)

您可能在Page_Load

中有类似的内容
campagnes.DataSource = somelist;
campagnes.DataBind();

确保将其放入

if(!Page.IsPostBack)
{
    campagnes.DataSource = somelist;
    campagnes.DataBind();
}

这将确保下拉列表仅与数据绑定一次。

当您触发方法时,Page_Load会在实际的SelectedItemChanged事件被触发之前被调用,这会导致数据再次被绑定。