C# dropdownlist赢得';t在SelectedItemChanged上启动

C# dropdownlist赢得';t在SelectedItemChanged上启动,c#,asp.net,drop-down-menu,C#,Asp.net,Drop Down Menu,我在更新面板中有一个DDL,当我将数据绑定到SelectedItemChanged方法时,我无法启动该方法。在页面加载中,我有: ddl.DataSource = GetList(); ddl.DataBind(); GetList()返回一个List 这些值都在那里,但当我选择一个时,什么也没有发生 如果我要手动将它们放在类似的位置: ddl.Items.Add("1"); ddl.Items.Add("2"); ddl.Items.Add("3"); 它有效,为什么 如果我绑定数据,则不

我在更新面板中有一个DDL,当我将数据绑定到SelectedItemChanged方法时,我无法启动该方法。在页面加载中,我有:

ddl.DataSource = GetList();
ddl.DataBind();
GetList()
返回一个
List

这些值都在那里,但当我选择一个时,什么也没有发生

如果我要手动将它们放在类似的位置:

ddl.Items.Add("1");
ddl.Items.Add("2");
ddl.Items.Add("3");
它有效,为什么

如果我绑定数据,则不会输入以下方法

protected void ddl_SelectedIndexChanged(object sender, EventArgs e)
    {
        string test = ddl.SelectedItem.Text;
    }

<asp:DropDownList runat="server" ID="ddl" Width="150px"
OnSelectedIndexChanged="ddl_SelectedIndexChanged"></asp:DropDownList>
protectedvoid ddl\u SelectedIndexChanged(对象发送方,事件参数e)
{
字符串测试=ddl.SelectedItem.Text;
}

请在DropDownList上设置属性AutoPostBack=“true”,如果您没有设置,这将允许下拉列表回发任何选定的索引更改

默认情况下,更改asp:DropDownList不会像回发按钮一样进行回发,因为在许多情况下不需要这样做。您必须将其设置为true才能获得回发

改变

<asp:DropDownList runat="server" ID="ddl" Width="150px"
OnSelectedIndexChanged="ddl_SelectedIndexChanged"></asp:DropDownList>

<asp:DropDownList runat="server" ID="ddl" Width="150px" AutoPostBack="true"
OnSelectedIndexChanged="ddl_SelectedIndexChanged"></asp:DropDownList>

重复问题:。。。只需将
AutoPostBack=“true”
添加到DropDownList定义中即可。