所以这是我的情况:我有一个 DropDownList,当某个事件被触发时我会填充它。为了填充它,我执行了一个返回两列的 SQL 查询:ID 和 Name。我使用 DataSource/DataTextField/DataValueField 将 Name 绑定到 DropDownList,但我也想保存 ID(以在第二个查询中使用)。我怎样才能做到这一点?
我尝试将 ID 保存到隐藏的输入字段,因为我想使用它但不向用户显示它。但是输入不是ListControl,所以它不起作用。如何获取在 DropDownList 中选择的名称的匹配 ID?
string strConn = ConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString;
SqlConnection con = new SqlConnection(strConn);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT Id, Name FROM Users WHERE Age > 10";
DataSet objDs = new DataSet();
SqlDataAdapter dAdapter = new SqlDataAdapter();
dAdapter.SelectCommand = cmd;
con.Open();
dAdapter.Fill(objDs);
con.Close();
if (objDs.Tables[0].Rows.Count > 0)
{
NameDropDown.DataSource = objDs.Tables[0];
NameDropDown.DataTextField = "Name";
NameDropDown.DataValueField = "Name";
NameDropDown.DataBind();
NameDropDown.Items.Insert(0, "--Select--");
}
else
{
NameDropDown.Items.Clear();
NameDropDown.Items.Insert(0, "No names found");
}