我需要根据不同下拉列表中的选择更新一个下拉列表的值。我有一个警告,而不是包含页面上显示的实际值的下拉列表,它保持分配的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'的第一个参数。可以找到(你错过了使用指令或程序集引用吗?)
答案 0 :(得分:0)
如果您想要显示文本而不是值,请尝试使用
protected void ddlCompName_SelectedIndexChanged(object sender, EventArgs e)
{
if (VBS.Left(ddlCompName.SelectedItem.Text, 2) == "On")
{
ddlLocation.SelectedValue = "Building One";
}
}