ASP和C# - DropDownList选择

时间:2015-11-30 10:41:37

标签: c# asp.net drop-down-menu

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>


这里有一部分我的C#代码成功触发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。然而,在我的,我已经把它设置为真,但它不起作用。

1 个答案:

答案 0 :(得分:1)

DropDownList的内容在回发后再次绑定时会很常见,这将在您的SelectedIndexChanged事件之前发生,从而重置所选索引。

确保您的绑定代码仅在第一页加载。

if (!Page.IsPostBack)
{
    // bind drop down list here
}