C#DropDownList列出数值
本文关键字:C#DropDownList | 更新日期: 2023-09-27 18:08:20
我有一个下拉列表,它的填充方式如下:
cmd.CommandText = "select * from dbo.pelischool";
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
DropDownList1.DataTextField = ds.Tables[0].Columns["schoolName"].ToString();
DropDownList1.DataSource = ds.Tables[0];
DropDownList1.DataBind();
现在我想读取所选项目的列表编号(以便将其放入查询中(。因此,虽然我的下拉列表中有"牛津大学"、"麻省理工大学"answers"西蒙·弗雷泽大学"等值,但我希望单击列表中的一个项目,将该项目的值存储在列表中。更具体地说,如果单击第一个项目,则int数字=1。如果单击第二项,则int数=2。
有可能用这样的东西来完成吗:
DropDownList1.SelectedItem.????;
感谢您抽出时间!
您没有将bind
项的值绑定到dropdownlist
,因此需要将其绑定。
像这个
DropDownList1.DataValueField = ds.Tables[0].Columns["Column name that contain the value of Item"].ToString();
然后你可以使用来获得它的值,就像下面的一样
string item_value = DropDownList1.SelectedValue;
如果您想要选择值,则使用
DropDownList1.SelectedValue
如果你想要选择的项目,那么使用
DropDownList1.SelectedItem
除了Nitin Kumar的答案外,所选项目文本还可以通过以下方式获得:
var selectedText = DropDownList1.SelectedItem.Text;
选定值
var selectedValue = DropDownList1.SelectedValue;
cmd.CommandText = "select * from dbo.pelischool";
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
DropDownList1.DataTextField = ds.Tables[0].Columns["schoolName"].ToString();
DropDownList1.DataValueField = ds.Tables[0].Columns["SomeValueColumn or id column"];
DropDownList1.DataSource = ds.Tables[0];
DropDownList1.DataBind();
然后你可以使用。。。
string id = DropDownList1.SelectedValue.ToString();
试试这个。
cmd.CommandText = "select id,schoolName from dbo.pelischool";
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt );
if (dt != null)
{
if (dt.Rows.Count > 0)
{
ddlPosition.DataSource = dt;
ddlPosition.DataTextField = "schoolName";
ddlPosition.DataValueField = "Id";
ddlPosition.DataBind();
}
}