Hello Stack Overflow社区
我有一个关于ASP DropDownList
的问题,当我在C#代码中请求SelectedItem.Text
字符串时,它似乎无法产生正确的选定输出。
以下是DropDownList的ASP代码:
<asp:DropDownList ID="ddlRecalllayaway" AccessKey="z"
runat="server" AutoPostBack="True" Height="20px"
Width="130px"></asp:DropDownList>
SelectedIndexChanged
事件:
public void ddlRecalllayaway_SelectedIndexChanged(object sender, System.EventArgs e) { String selected = ddlRecalllayaway.SelectedItem.Text; // Things I want to do with the string which has been selected }
当我在浏览器中使用DropDownList
并选择除最顶层之外的项目时,事件会成功触发,但是我添加了一个断点,悬停在selected
变量上,发现它显示了我DropDownList
中的顶部项目,而不是我选择的项目。
感谢任何有用的建议。谢谢!
编辑:我的问题与可能的重复内容不同。因为接受的答案是指AutoPostBack
属性设置为true。然而,在我的,我已经把它设置为真,但它不起作用。
答案 0 :(得分:1)
当DropDownList
的内容在回发后再次绑定时会很常见,这将在您的SelectedIndexChanged
事件之前发生,从而重置所选索引。
确保您的绑定代码仅在第一页加载。
if (!Page.IsPostBack)
{
// bind drop down list here
}