我有一个DropDownList,我在Page_Load上填写它。当我尝试获取选定值string id = myDropDownList.SelectedValue.ToString();
时,每次我只获取第一个值,但当我更改DropDownList的值并检查字符串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
}
但这些都不起作用,我想知道如何获得DropDownList的选定值,每次我在DropDownList中选择新值时
试试这个:
当你在数据库中插入下拉列表值时,你需要更改:
string id = myDropDownList.SelectedItem.Value.ToString();