C#DropDownList列表编号值
我有一个dropdownlist,填充如下:C#DropDownList列表编号值,c#,asp.net,drop-down-menu,C#,Asp.net,Drop Down Menu,我有一个dropdownlist,填充如下: cmd.CommandText = "select * from dbo.pelischool"; SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds);
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();
现在我想读取所选项目的清单编号(以便将其放入查询中)。
因此,虽然我的dropdownlist有“牛津大学”、“麻省理工大学”、“西蒙·弗雷泽大学”等值,但我想单击列表中的一个项目,将该项目的值存储在列表中。更具体地说,如果单击第一项,则
整数=1。如果单击第二项,则
整数=2
是否可以通过以下方式完成:
DropDownList1.SelectedItem.????;
谢谢你抽出时间 如果需要选定的值,请使用
DropDownList1.SelectedValue
如果您想要选定的项目,请使用
DropDownList1.SelectedItem
然后你可以使用
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();
}
}
除Nitin Kumar答案外,还可以通过以下方式获得所选项目文本:
var selectedText = DropDownList1.SelectedItem.Text;
选定值
var selectedValue = DropDownList1.SelectedValue;
您没有将项的值绑定到
dropdownlist
,因此需要将其绑定
像这样
DropDownList1.DataValueField = ds.Tables[0].Columns["Column name that contain the value of Item"].ToString();
然后你可以用它来得到它的值,如下所示
string item_value = DropDownList1.SelectedValue;
对于数据库中的每个学名,必须有一些值。在DropDownList1.DataValueField中绑定这些值。这似乎可以,但出于某种原因(奇怪),总是存储第一个id。即使我选择了下拉列表的第二个或第三个选项,它也会存储第一个id。我已更新了答案。请试试这个。我希望它也能帮助您分享您的pelischool表值。这样就更容易解决你的问题了,兄弟。我已经这么做了,但出于一个原因,我总是得到第一个项目的id。无论我选择什么项目,它始终为1请显示用于获取项目值的代码`SqlDataAdapter da=new SqlDataAdapter(cmd);数据集ds=新数据集();da.填充(ds);DropDownList1.DataTextField=ds.Tables[0]。列[“schoolName]”。ToString();DropDownList1.DataValueField=ds.Tables[0]。列[“schoolID”]。ToString();DropDownList1.DataSource=ds.Tables[0];DropDownList1.DataBind()`我在Page_Load函数中有这段代码,所以可能这就是始终为1的原因。我还能把这个代码放在哪里?我在这里找到了答案:
string item_value = DropDownList1.SelectedValue;