0
请注意,下面描述的问题几乎与“我的控件在每次加载页面时显示相同的值”这个常见问题完全相反,我理解表达的行为通常不是可取的。即使在数据绑定之后,ListBox仍然保留发布的值
我有一个正在被数据绑定在页面加载事件,甚至在回发一个列表框。
当selectedIndex处的事件处理程序改变的是打,控制不知何故有,即使它有张贴价值已被再次绑定,此时不应该有选定的索引。
有谁知道这可能是怎么可能的。
编辑:
为了证明SelectedIndex的确实重置您可以创建具有以下简单的标记形式:
<label for="textbox1">Original Posted Value: </label>
<asp:TextBox runat="server" ID="textbox1" />
<asp:DropDownList runat="server" ID="dropdown" OnSelectedIndexChanged="dropdown_SelectedIndexChanged" AutoPostBack="true" />
<label for="textbox2">Value at point handler is hit: </label>
<asp:TextBox runat="server" ID="textbox2" />
用下面的代码中的.cs
protected void Page_Load(object sender, EventArgs e)
{
textbox1.Text = dropdown.SelectedIndex.ToString();
dropdown.DataSource = new string[] { "none", "A", "B", "C" };
dropdown.DataBind();
}
protected void dropdown_SelectedIndexChanged(object sender, EventArgs e)
{
textbox2.Text = dropdown.SelectedIndex.ToString();
}
请注意,第二个文本框中的值始终为0.