对于填充了Membership.GetAllUsers();
的下拉框,我有点困难。我有以下代码,成功地将所有用户放入下拉列表
UsrList.DataSource = Membership.GetAllUsers(); //get all users
UsrList.DataBind(); //bind
然后我有一个按钮,应该将当前在下拉列表中的用户名存储到一个字符串中,但是它总是将第一个值存储在下拉列表中。
string usr = UsrList.SelectedItem.Value;
Label3.Text = usr;
我确信我的遗失非常简单,任何帮助都会受到赞赏! :)
答案 0 :(得分:1)
为了使用selectedItem.Value,我认为你需要定义DataTextField和DataTextValue
UsrList.DataTextField = "<Property to display>";
UsrList.DataValueField = "<Property to use as Value>";
答案 1 :(得分:1)
除了Pedro上面的直接答案,您可能还想略微修改您的列表项。以下是将“默认”项目添加为列表中的顶部项目的代码:
protected void UsrList_DataBound(object sender,EventArgs e) { UsrList.Items.Insert(0,new ListItem(“”,“0”)); }
并且正面添加到控件: OnDataBound = “UsrList_DataBound”
您也可以随时修改上述方法,从列表中选择特定值。
答案 2 :(得分:0)
可能是您的第一段代码在页面生命周期中的第二段之前执行。
确保在DataSource
中设置DataBind()
和Page_Load
,并在UsrList.SelectedItem.Value
Button_OnClick
ASP.NET页面生命周期大致是
我希望这会有所帮助。