0

我有一个下拉列表,其中添加了 3 个项目。我希望当第一个项目被选中时,标签的文本会改变......但它不起作用!这是代码:

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        DropDownList dr = new DropDownList();
        if (dr.SelectedIndex == 1)
        {

            Label1.Text = "Good";
        }
        else if (dr.SelectedIndex == 2)
        {

            Label1.Text = "Bad";
        }

    }

首先,我在 UpdatePanel 中添加了下拉列表,但它没有用,所以我想也许 updatePanel 让我遇到了这个问题。我删除了更新面板,但它仍然无法正常工作!

4

4 回答 4

2

您创建下拉列表的新实例,您必须使用屏幕上存在的此下拉列表!

检查您的下拉列表是否将属性 AutoPostBack 设置为 true。

于 2013-06-14T06:55:05.397 回答
0

You are using it inside the selectedindexChanged event, then you don't need to initialize it further.

direcly use:

if (DropDownList1.SelectedIndex == 1)
    {

        Label1.Text = "Good";
    }
    else if (DropDownList1.SelectedIndex == 2)
    {

        Label1.Text = "Bad";
    }

}
于 2013-06-14T07:00:03.443 回答
0

set AutoPosback property of dropdown to true at your aspx page. This will solve your problem.

于 2013-06-14T07:07:04.253 回答
0

尝试修改这行代码:

DropDownList dr = (DropDownList)sender;

当然,为您的下拉列表将属性 AutoPosback 设置为 true。

于 2013-06-14T06:55:50.813 回答