【发布时间】:2012-09-07 03:57:46
【问题描述】:
我遇到了一个非常普通的 ASP.NET 下拉列表的问题。
我在AutoPostback=false 的页面中有一个下拉列表。
以及生成下拉列表内容的代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.dropDownList.Items.Add(new ListItem("text1", "value1"));
this.dropDownList.Items.Add(new ListItem("text2", "value2"));
this.dropDownList.SelectedIndex = 0;
}
}
- 运行页面,选择第二个选项:text2。
- 然后,按F5,这会做一个页面加载(注意我还没有做任何回发,只是改变了Dropdownlist的选中项并按F5)
我希望下拉列表现在会选择带有index = 0 的默认项目,但所选项目仍然是项目“text2”——我选择的项目。在这种情况下,this.dropDownList.SelectedIndex = 0; 不起作用。
我完全不明白。谁能帮帮我?
更新:此行为仅在 Firefox 中发生,在 Chrome/IE 中不会发生。
【问题讨论】:
-
当您执行自动回发时,如果页面 if(!ispostaback) 块没有命中,并且您将 txt2 作为选定移动 >this.dropDownList.SelectedIndex = 0;超出 !ispostback 块
-
但我正在做 AutoPostBack=false 和代码 this.dropDownList.SelectedIndex = 0;被击中
-
糟糕的是,我无法阅读有问题的内容
标签: asp.net drop-down-menu pageload