2013-10-31 2 views
0

SQL 쿼리의 결과로 채워지는 드롭 다운 상자가 있습니다. dropdownlist1에서 선택한 값이 lbAuthors 드롭 다운 목록을 성공적으로 채 웁니다. 테스트하는 동안 dropdownlist1의 첫 번째 레코드가 lbAuthors 드롭 다운 목록으로 업데이트되지 않는다는 것을 알게되었습니다. 다음은 한 예입니다. 두 번째 드롭 다운 상자 (Frost, Kipling, Poe)에 3 명의 저자 이름이있는 경우 첫 번째 이름 인 Frost가 첫 번째 드롭 다운 상자로 업데이트되지 않습니다. Kipling 또는 Poe는하지만 Frost는 아닙니다.드롭 다운 목록의 첫 번째 레코드가 다른 드롭 다운 상자를 업데이트하지 않습니다.

내 질문은 - 첫 번째 드롭 다운 상자에 Frost (또는 첫 번째 레코드가 무엇이든)를 허용하려면 내 이벤트에 무엇을 포함해야합니까? -

숨김 코드 :

protected void update_SelectedItem(object sender, EventArgs e) 
{ 
    lbAuthorList.Items.Clear(); 
    lbAuthorList.Items.Add(new ListItem(DropDownList1.SelectedItem.Text, DropDownList1.SelectedItem.Text)); 
    lbAuthorList.Items.FindByValue(DropDownList1.SelectedItem.Text).Selected = true; 
} 

마크 업 :

첫 번째 항목을 선택하면, selcted 인덱스가 변경되지 않기 때문이다
<asp:DropDownList runat="server" 
        ID="lbAuthors" 
        style="float:left;" 
        DataSourceID="odsAuthorList" 
        DataTextField="DisplayAuthorName" DataValueField="AuthorID" 
        onselectedindexchanged="lbUserList_SelectedIndexChanged" 
        AppendDataBoundItems="True" > 
</asp:DropDownList> 
<asp:DropDownList ID="DropDownList1" 
        runat="server" 
        AppendDataBoundItems="True" 
        DataSourceID="SqlDataSource2" 
        DataTextField="Display_AuthorName" 
        EnableViewState="false" 
        DataValueField="Display_AuthorName"     
        OnSelectedIndexChanged="update_SelectedItem" 
        AutoPostBack="true"> 
</asp:DropDownList> 
+1

이 대답을보세요. http://stackoverflow.com/a/19528881/791952 –

답변

1

. 이 같은 더미 항목을 삽입하기 :: u는 변경 드롭 다운리스트에 대한 코드가 아니라 해고 그 시간 드롭 다운리스트 변경 이벤트에서 선택 처음에 첫 번째 값을 썼다 때문에

<asp:DropDownList ID="DropDownList1" runat="server" 
        AppendDataBoundItems="True" 
        DataSourceID="SqlDataSource2" 
        DataTextField="Display_AuthorName" 
        EnableViewState="false" 
        DataValueField="Display_AuthorName" 
        OnSelectedIndexChanged="update_SelectedItem" 
        AutoPostBack="true"> 
    <asp:ListItem Text="--Select One--" Value="-1"></asp:ListItem> 
</asp:DropDownList> 
+0

@Nikita 및 afzalulh - 감사합니다. 두 가지 솔루션 모두 효과가있었습니다! – user2821300

0

이 문제가 상승해야합니다. 두 번째를 선택한 다음 첫 번째를 선택하면 정상적으로 작동합니다.

그냥 드롭 다운리스트 항목에서 하나 개의 더미 변수를 추가 ..

dropdownlist1.Items.Add ("- 선택해");

관련 문제