.net DropDownList在回发后被清除

这一直让我疯狂。 我已经看到这个问题在这里出现了几次,基本上我有一个下拉列表,当它被改变时填充下面的表格 – 基本的东西。 在第一页加载一切都很好,但是当更改下拉列表时,它在回发后完全空白,并且SelectedIndexChanged事件永远不会触发。 我相信这一切都指向了一个观点问题。 这是代码..

   

和页面加载……

 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { IEnumerable users = Users(); UsersList.DataSource = users; UsersList.Items.Insert(0, new ListItem("-- Select User --", "0")); UsersList.DataBind(); } } 

任何有关这方面的帮助将非常感谢! 我确定这很简单……

编辑:完全新答案……

您是否在Page_Init事件中添加控件? 在添加动态添加的控件之前,任何比此更晚的ViewState都已经被解析并应用于页面上的控件。 请参阅: http : //msdn.microsoft.com/en-us/library/ms178472.aspx

尝试在Page指令上添加EnableViewState

 <%@ Control Language="C#" EnableViewState="True" AutoEventWireup="true" CodeFile="EditUser.ascx.cs" Inherits="Controls_EditUser" %> 

此外,回发项目的排序对于保留ViewState非常重要。 可能是,在回发之后,一些控制因为缺少一个?