2013-06-12 113 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