我有两个下拉列表。当我从第一个ddl中选择一些项时,在第二个ddl中我得到一些其他值来选择。我有一个问题,因为当我从第二个ddl中选择一些值,然后在第一个ddl中选择标准值时,页面加载后仍然有第二个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();
}
}
绑定到ddl的是GetFunctions()(第一个ddl)和GetTeams()(第二个ddl)。唯一的问题是,当我在第二个ddl中选择了一些值并在第一个ddl中更改值时(来自第二个ddl的旧值进入存储过程,导致LocateCities()方法返回0值)。我想有默认值所有的球队被传递到过程时,我在第一个ddl改变值。我希望我都解释清楚了。如果没有,请告诉我。
使用第一个的SelectedIndexChanged事件为第二个设置默认值
:
void foo_SelectedIndexChanged(object sender, EventArgs e) {
bar.SelectedIndex = ((DropDownList)sender).SelectedIndex;
// or whatever your logic is. Merry coding.
}