首页 > 解决方案 > 下拉列表未找到正确的值

问题描述

当我连接我的下拉列表 (cmbStaff),然后尝试将选定的值应用于 cmbStaff 时,它将始终返回下拉列表中的第一个值。这是我用来将数据绑定到下拉列表的代码

 if(!IsPostBack)
{
    String Sql = @" select * from SupportTeam";

 SqlConnection conn = new SqlConnection(Properties.Resources.cString);
 SqlDataAdapter DA = new SqlDataAdapter(Sql, Properties.Resources.cString);
 DataSet DS = new DataSet();
 DA.Fill(DS, "SupportTeam");

 cmbStaff.DataValueField = "SupportTeamID";
 cmbStaff.DataTextField = "SupportTeamName";
 cmbStaff.DataSource = DS;
 cmbStaff.DataBind();
 cmbStaff.Items.Insert(0, "--Please select a support team--");
}

但是在以后的代码中,当我尝试将选定的值应用于下拉列表时,它总是会选择第一个索引。

例如,如果我这样做

cmbStaff.SelectedValue = "TEL";

当我调试时,它总是会返回这个

cmbStaff.SelectedValue = "--Please select a support team--"
cmbStaff.SelectedIndex = 0;

为什么要这样做。我将数据存储在表中,因为组合工作它只是没有将起始索引设置为我想要的值,这就是我需要它做的事情。

这是我存储在 SupportTeam 表中的数据片段 在此处输入图像描述

抱歉,如果看起来含糊不清,在此先感谢!

标签: c#asp.netsql-server

解决方案


这不是您为下拉列表设置选定值的方式。您使用 findbyvalue 函数并设置 selected =true

cmbStaff.Items.FindByValue("TEL").Selected = true;

推荐阅读