无法为下拉列表触发SelectedIndexChanged事件?

时间:2012-11-19 00:52:38

标签: c# asp.net events drop-down-menu

我是C#和asp.net的初学者,我有一个带有文字的项目的DropDownList:"No item selected."和索引0

我有一个按钮Delete,显然会删除DDL中的项目。

但我想在只有"No item selected."项时禁用它。

我试过这段代码:

protected void Page_Load(object sender, EventArgs e)
{
    Button2.Enabled = false;
}

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (DropDownList1.SelectedIndex == 0)
    {
        Button2.Enabled = false;
    }
    else
    {
        Button2.Enabled = true;
    }
}

但是当我添加新项目并选择它时没有任何反应。 Delete按钮仍处于禁用状态。

2 个答案:

答案 0 :(得分:1)

试试这个

protected void Page_Load(object sender, EventArgs e)
{
  if(!Page.IsPosBack)
  {
    Button2.Enabled = false;
  }
}

在回发后重置为“已禁用”

答案 1 :(得分:1)

你必须检查你的下拉列表AutoPostBack Property它必须为true才能触发服务器端事件,并且在使用IsPostBack属性进行page_load事件检查时再尝试。