2013-09-28 3 views
0

나는 6 개의 항목이 들어있는 목록 상자가 있습니다. 선택된 목록의 레이블 변경 목록 이벤트는 선택한 항목 값으로 바뀝니다. 목록 상자의 선택 모드는 multiple입니다. 원하는 항목 사용자가 항목을 선택하면 목록 상자에서 제거하고 레이블 텍스트에 추가해야합니다. 사용자가 선택한 항목을 제거 할 수 있습니다. 1 2 또는 모두 목록 상자 항목 만 선택할 수 있기 때문에 텍스트 상자를 사용하지 않습니다. 내 HTML은asp.net에서 목록 상자의 선택한 항목에서 삭제하는 방법

<asp:Label ID="lbl_mar_cat" runat="server" Width="100%" Font-Size="Small"></asp:Label> 
<asp:ListBox ID="listbox_mar" runat="server" SelectionMode="Multiple" 
    CssClass="listbox" AutoPostBack="True" 
    onselectedindexchanged="BulletedList1_SelectedIndexChanged" > 
    <asp:ListItem Value="Doesn't Matter">Doesn't Matter</asp:ListItem> 
    <asp:ListItem>1</asp:ListItem> 
    <asp:ListItem>2</asp:ListItem> 
    <asp:ListItem>3</asp:ListItem> 
    <asp:ListItem>Divorced</asp:ListItem> 
</asp:ListBox> 

내 서버 측 코드는

if (listbox_mar.SelectedValue == "Doesn't Matter") 
    { 
     lbl_mar_cat.Text = "Doesn't Matter"; 
    } 
    else 
    { 
     if (lbl_mar_cat.Text == "") 
     { 
      lbl_mar_cat.Text = listbox_mar.SelectedValue.ToString(); 
     } 
     else 
     { 
      lbl_mar_cat.Text += ", " + listbox_mar.SelectedValue.ToString(); 
     } 
    } 
+0

내가 그나마 때문에 작업이 먼저 .. –

답변

1

이 시도입니다 :

protected void listbox_mar_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    for (int i = 0; i < listbox_mar.Items.Count; i++) 
    { 
     if (listbox_mar.Items[i].Selected) 
     { 
      lbl_mar_cat.Text += listbox_mar.Items[i].Text+ " , " ; 
      listbox_mar.Items.Remove(listbox_mar.Items[i]); 
     } 
    }  
} 
+0

선생님이 어떤 버튼 클릭없이 할 수 있습니다보기 아무 버튼이나 사용하십시오. 레이블 대신 텍스트 상자를 사용해야합니까? 난 그저 그들을 클릭하여 항목을 제거하고 싶습니다 –

+0

@ VikasRana - 내 대답 편집 –

+0

고마워 도움이 나를 위해 –

관련 문제