2013-06-12 117 views
0

我有两个下拉列表。 Whan我从第一个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(); 
    } 
} 

结合的DDL是GetFunctions()(第一DDL)和GetTeams()(第二DDL)。唯一的问题是,当我在第二个ddl中选择了一些值并在第一个ddl中更改值(第二个ddl中的旧值导致存储过程导致LocateCities()方法返回0值)。我想要默认值当我在第一个ddl中更改值时,所有队都被传递给过程。我希望我解释一些事情。如果不是,请让我知道。

+0

是您的活动(其中加载项,第二DDL)不执行,当你选择在第一DDL的项目? – Shyju

+0

你使用回发? – Learner

+4

请分享一些代码。否则,不可能找到解决问题的办法。 –

回答

1

使用第一个的SelectedIndexChanged event在第二个上设置默认值。

像这样:

void foo_SelectedIndexChanged(object sender, EventArgs e) { 
    bar.SelectedIndex = ((DropDownList)sender).SelectedIndex; 
    // or whatever your logic is. Merry coding. 
} 
+0

我尝试了你发布的内容。我添加了行:ddlFunctions.SelectedIndex =((DropDownList)sender).SelectedIndex;但它不起作用。 – ironcurtain

+0

你必须提供你自己的逻辑。在此之前,您必须重做数据绑定或过滤第二个列表。我在那里写的代码只是建议使用该事件,如果你只是逐字地粘贴,它很容易出错。 – Renan