2011-05-11 2 views
0

나는이 Dictionary<string,string[]>나는 나는 또한이 DropDownList로이 dropdownLists

과 같은 사전을 가지고있는 문제가 있습니다. 첫 번째 dropdropdownlist의 항목을 선택했는지에 따라 두 번째 드롭 다운 목록 현재 데이터를 원합니다. 실제로 일어나는

protected void topicDropDownMenu_SelectedIndexChanged1(object sender, EventArgs e) 
{ 
    string[] chosenItem; 
    chosenItem = null; 
    SubTopicDropDownList.ClearSelection(); 

    chosenItem = topic[topicDropDownMenu.SelectedItem.Value]; 

    foreach (string item in chosenItem) 
    { 
     SubTopicDropDownList.Items.Add(item); 
    } 

} 

문자열 배열 두번째 드롭 다운리스트에 난에서 항목을 선택할 때마다 추가되는 점이다

그래서 번째 dropdownlist..here에 이벤트가 알고리즘 첨가 첫 번째 드롭 다운리스트에 ..

는하지만 난 두 번째 드롭 다운리스트가 첫 번째 드롭 다운리스트에서 선택 된 내용에 따라 대신 이미 다운 목록 두 번째 드롭에 배치 된에 무엇이든 그 값을 추가의 값을 대체 할

+2

질문 (61) 후, 당신이 정말로 코드를 포맷하고 대문자 문자로 각 문장을 시작하는 방법을 배워야한다. –

+1

마법사, 당신은 100 % 맞습니다. 질문을 할 때뿐만 아니라 의견을 게시 할 때 xD –

답변

2
// add this line - it's different from ClearSelection() 
SubTopicDropDownList.Items.Clear(); 

foreach (string item in chosenItem) 
{ 
    SubTopicDropDownList.Items.Add(item); 
} 
+0

감사합니다 .. 함수는 항목과 관련이 있으며 드롭 다운 목록과 관련이 없습니다. 감사합니다 !!!! –

+0

문제 없습니다. 오랫동안 볼 수 있고 알아 차릴 수없는 종류의 것입니다. :) – Nathan

0

SubTopicDropDownList.ClearSelection()은 목록을 비우지 않고 선택한 항목의 선택을 취소합니다. SubTopicDropDownList.ClearSelection()으로 전화하기 전후에 SelectedIndex, SelectedItem 또는 SelectedValue의 값을 확인하여이를 확인할 수 있습니다. 실제로하고 싶은 것은 SubTopicDropDownList.Items.Clear()을 사용하여 항목 전체를 비우거나 지 웁니다.

그래서 올바른 코드는 다음과 같습니다

protected void topicDropDownMenu_SelectedIndexChanged1(object sender, EventArgs e) 
{ 
    string[] chosenItem; 
    chosenItem = null; 
    ubTopicDropDownList.Items.Clear(); 

    chosenItem = topic[topicDropDownMenu.SelectedItem.Value]; 

    foreach (string item in chosenItem) 
    { 
     SubTopicDropDownList.Items.Add(item); 
    } 

}