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

Update Drop Down List From Selection Of Another

我需要根据从不同下拉列表中选择的内容更新一个下拉列表的值。我要注意的是,它不是包含页面上显示的实际值的下拉列表,而是保存分配的 id,这扭曲了我背后的整个逻辑!我想根据页面本身为 ddlCompName 选择的值更新 ddlLocation 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' does not contain a definition for 'SelectedText' and no extension method 'SelectedText' accepting a first argument of type 'System.Web.UI.WebControls.DropDownList' could be found (are you missing a using directive or an assembly reference?)

如果你想要显示文本而不是值,那么试试这个

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