如何从下拉列表中获取选定的值C#ASP.NET

ami*_*ent 10 c# asp.net

我使用C#创建了简单的网站asp.net webform.我有代码在页面加载时在下拉列表中显示数据,如下所示:

private void DisplayData()
{
    List<ListItem> items = new List<ListItem>();
    items.Add(new ListItem("User", "1"));
    items.Add(new ListItem("Administrator", "0"));
    DropdownList1.DataSource = items;
    DropdownList1.DataBind();
}
Run Code Online (Sandbox Code Playgroud)

我在页面加载中调用它:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        DisplayData()
    } 
}
Run Code Online (Sandbox Code Playgroud)

我试图从btnSubmit中的DropdownList1获取值

protected void btnSubmit_Click(object sender, EventArgs e)
{
    lblResult.Text = DropdownList1.SelectedValue;
}
Run Code Online (Sandbox Code Playgroud)

此结果始终获得值UserAdministartor字符串.但是,它不是我想要的.我想从DropdownList1中的值得到的值为01.这该怎么做?

Ous*_* D. 8

一种方法是使用DropDownList SelectedItem 属性获取 selectedItem( ListItem),然后使用ListItem.Value 属性获取 的相应值ListItem

lblResult.Text = DropdownList1.SelectedItem.Value; // Value property Gets or sets the value associated with the ListItem.
Run Code Online (Sandbox Code Playgroud)


bor*_*ski 6

尝试指定 DropDownList1 的 DataValueField:

DropdownList1.DataSource = items;
DropdownList1.DataValueField = "Value";
DropdownList1.DataTextField = "Text";
DropdownList1.DataBind();
Run Code Online (Sandbox Code Playgroud)