Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#DropDownList列表编号值_C#_Asp.net_Drop Down Menu - Fatal编程技术网

C#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);

我有一个dropdownlist,填充如下:

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;