런타임에 웹 페이지 Page_Load 이벤트에 채워지는 두 개의 목록 상자가 있습니다. Page.IsPostBack을 사용하여 목록이 포스트 백이 아닌 경우에만 채워지는지 확인합니다.런타임에 목록 상자 항목 추가 및 제거
목록 상자 A에는 약 150 개의 항목이 있고 목록 상자 B는 비어 있습니다. 추가 및 제거라는 두 개의 단추가 있습니다. 목록 상자 A의 항목을 선택하고 추가 버튼을 누르면 해당 항목이 목록 상자 B로 이동합니다.
목록 상자 B에서 이러한 항목을 선택하는 데 문제가 있습니다. 자동 게시백을 TRUE로 설정하면 항목을 선택할 수 없습니다. 한 항목을 선택하면 다시 게시가 발생하고 Enableviewstate를 TRUE로 설정 한 경우에도 선택 항목이 선택되지 않은 것처럼 선택이 취소됩니다.
Autopostback을 FALSE로 설정하면 아무 문제없이 Items를 선택할 수 있지만 서버 쪽에서 Selected 속성을 선택하면 모두 틀립니다.
autopostback이 설정되어 있어도 서버 측에서 채워진 항목을 볼 수 있으며 선택한 속성 만 항상 false입니다.
모든 목록 상자 항목과 값은 고유합니다.
이 문제를 해결하는 방법에 대한 제안 사항이 있으십니까?
For i = 0 To (ListboxA.Items.Count - 1)
If ListboxA.Items.Item(i).Selected = True Then
ListboxB.Items.Add(ListboxA.Items.Item(i))
End If
Next
For i = 0 To (ListboxB.Items.Count - 1)
If ListboxA.Items.Contains(ListboxB.Items.Item(i)) Then
ListboxA.Items.Remove(ListboxB.Items.Item(i))
End If
ListboxB.Items.Item(i).Selected = False
Next
과리스트 박스 : 당신이 목록 상자를하고 있기 때문에
<asp:ListBox ID="ListboxA" runat="server" SelectionMode="Multiple" AutoPostBack="True"></asp:ListBox>
<asp:ListBox ID="ListboxB" runat="server" SelectionMode="Multiple" AutoPostBack="True"></asp:ListBox>
코드 표시 – YardenST
@YardenST 코드를 포함하도록 게시물을 편집했습니다. – Rahmatizadeh