I am generating a dropdown in codebehind and cannot automatically fire the selectedindexchanged event. It works great when directly entering an ASPX page, but I need it to be in code.
This does not work:
var deptList = new DropDownList { ID = "deptList", DataSource = departments, DataTextField = "deptname", DataValueField = "deptid", AutoPostBack = true, EnableViewState = true }; deptList.SelectedIndexChanged += new EventHandler(deptList_SelectedIndexChanged); deptList.DataSource = departments; deptList.DataTextField = "deptname"; deptList.DataValueField = "deptid"; if (!IsPostBack) deptList.DataBind(); deptList.Items.Insert(0, new ListItem("---Select Department---", string.Empty)); writer.Write("Select a department: "); deptList.RenderControl(writer);
but it works:
<asp:DropDownList ID="deptList" AutoPostBack="true" runat="server" OnSelectedIndexChanged="deptList_SelectedIndexChanged"></asp:DropDownList>
source share