获取 DropDownList 选中的值

Get DropDownList selected value

我有一个 DropDownList,我在 Page_Load 上填写。当我尝试获取所选值时 string id = myDropDownList.SelectedValue.ToString(); 每次我只得到第一个值,但是当我更改 DropDownList 的值并检查 string id 它总是显示我的第一个值。

这是我的Page_Load

protected void Page_Load(object sender, EventArgs e)
    {
        if (commesseDataSource.Count != 0)
        {
            initComboCommesse();
        }

        if (Session["Matricola"] != null)
            matricolaDip = Convert.ToInt32(Session["Matricola"]);

        if (Session["LivLogin"] != null)
            livlogin = Convert.ToInt32(Session["Matricola"]);

    }

这就是我绑定 DropDown 的方式

private void initComboCommesse()
    {
        myDropDownList.DataTextField = "Value";
        myDropDownList.DataValueField = "Key";
        myDropDownList.DataSource = commesseDataSource;
        myDropDownList.DataBind();
    }

我已经尝试过

 protected void myDropDownList_SelectedIndexChanged(object sender, EventArgs e)
 {
      string id = myDropDownList.SelectedValue.ToString(); // I always get the 1st value of the Drop Down
 }

还有

 protected void myDropDownList_TextChanged(object sender, EventArgs e)
 {
      string id = myDropDownList.SelectedValue.ToString(); // I always get the 1st value of the Drop Down
 }

但是其中 none 有效,我想知道每次我在 DropDownList

中选择一个新值时如何获取 DropDownList 的选定值

试试这个:

当您在数据库中插入 DropDownList 值时,您需要更改:

string id = myDropDownList.SelectedItem.Value.ToString();