从另一个选择更新下拉列表

时间:2015-08-21 15:15:01

标签: c# asp.net if-statement webforms

我需要根据不同下拉列表中的选择更新一个下拉列表的值。我有一个警告,而不是包含页面上显示的实际值的下拉列表,它保持分配的id,这扭曲了我的整个逻辑!我希望根据页面本身为ddlLocation选择的值更新ddlCompName ddlCompName包含On1, On2, On3, On4之类的文本值,但在幕后它实际上保留了值CompID

ddlCompName填充

的方式
private void GetComputerName()
{
  this.ddlCompName.DataSource = GetComputerNames(DBToQuery);
  this.ddlCompName.DataTextField = ComputerName;
  this.ddlCompName.DataValueField = CompID;
  this.ddlCompName.DataBind();
}

这是我想要运行的更新,但由于数值不起作用

protected void ddlCompName_SelectedIndexChanged(object sender, EventArgs e)
{
  if (VBS.Left(ddlCompName.SelectedValue.ToString(), 2) == "On")
  {
    ddlLocation.SelectedValue = "Building One";
  }
}

我需要更改哪些内容才能根据需要进行更新?

编辑 - @Nelak更改为SelectedText而不是SelectedValue会抛出此编译错误

  

' System.Web.UI.WebControls.DropDownList'不包含' SelectedText'的定义没有扩展方法' SelectedText'接受类型' System.Web.UI.WebControls.DropDownList'的第一个参数。可以找到(你错过了使用指令或程序集引用吗?)

1 个答案:

答案 0 :(得分:0)

如果您想要显示文本而不是值,请尝试使用

protected void ddlCompName_SelectedIndexChanged(object sender, EventArgs e)
{
  if (VBS.Left(ddlCompName.SelectedItem.Text, 2) == "On")
  {
    ddlLocation.SelectedValue = "Building One";
  }
}