我有两个下拉列表。我从第一个ddl选择了一些项目,在第二个我得到一些其他值可供选择。我有一个问题,因为当我从第二个ddl中选择一些值然后在第一个ddl中选择标准值时,在页面加载之后仍然有旧的secon ddl值。 如果我想在页面加载之前在第二个ddl中设置默认值,我该怎么办?
编辑: 添加代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
GetFunctions();
GetTeams();
LocateCities();
}
else
{
if (ddlFunctions.Text.ToString() == "All Functions")
{
ddlTeams.Text = " All Teams";
LocateCities();
}
else
{
LocateCities();
}
}
}
protected void ddlFunctions_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddlFunctions.Text.ToString() == "All Functions")
{
Teams.Visible = false;
}
else
{
Teams.Visible = true;
GetTeams();
}
}
绑定到ddls的是GetFunctions()(第一个ddl)和GetTeams()(第二个ddl)。唯一的问题是当我在第二个ddl中选择了一些值并在第一个ddl中更改值时(第二个ddl中的旧值转到存储过程,导致LocateCities()方法返回0值)。当我在第一个ddl中更改值时,我希望将默认值All Teams传递给过程。我希望我解释了exthingthing。如果不是,请告诉我。
答案 0 :(得分:1)
使用第一个SelectedIndexChanged event在第二个设置默认值。
像这样:
void foo_SelectedIndexChanged(object sender, EventArgs e) {
bar.SelectedIndex = ((DropDownList)sender).SelectedIndex;
// or whatever your logic is. Merry coding.
}