0

我是 C# 和 asp.net 的初学者,我有一个 DropDownList ,其中包含一个带有 text :"No item selected."和 index的项目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按钮仍处于禁用状态。

4

2 回答 2

1

您必须检查下拉列表 AutoPostBack 属性,它必须为 true 才能触发服务器端事件,并且在 page_load 事件时检查 IsPostBack 属性,然后尝试。

于 2012-11-19T04:57:58.113 回答
1

尝试这个

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

回发后它被重置为“禁用”

于 2012-11-19T00:54:32.037 回答