我有一个下拉列表,其中我添加了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会让我遇到这个问题。 我删除了更新面板,但是它无法正常工作!!
答案 0 :(得分:2)
您创建了下拉列表的新实例,您必须使用屏幕上存在的此下拉列表!
检查您的下拉列表是否将属性AutoPostBack设置为true。
答案 1 :(得分:0)
尝试修改这行代码:
DropDownList dr = (DropDownList)sender;
当然,您的下拉列表中的属性AutoPosback设置为true。
答案 2 :(得分:0)
您在selectedindexChanged事件中使用它,然后您不需要进一步初始化它。
直接使用:
if (DropDownList1.SelectedIndex == 1)
{
Label1.Text = "Good";
}
else if (DropDownList1.SelectedIndex == 2)
{
Label1.Text = "Bad";
}
}
答案 3 :(得分:0)
在您的aspx页面上将下拉菜单的 AutoPosback 属性设置为 true 。这将解决您的问题。