从另一个选择更新下拉列表
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";
}
}
我需要根据从不同下拉列表中选择的内容更新一个下拉列表的值。我要注意的是,它不是包含页面上显示的实际值的下拉列表,而是保存分配的 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";
}
}