2013-07-31 3 views
1

나는 다음과 같은 RadListBox 있습니다액세스 RadListBox 항목 코드 숨김

<telerik:RadListBox ID="AttachmentsRadListBox" CheckBoxes ="true" runat="server" /> 

그것은 그러므로 나는 단지 RadWidnow가 표시되었을 때 호출되는 다음 코드를 통해 채우는하고하는 RadWindow에 있습니다

AttachmentsRadListBox.DataSource = AttachDT 
AttachmentsRadListBox.DataTextField = "DocumentPath" 
AttachmentsRadListBox.DataValueField = "DocumentID" 
AttachmentsRadListBox.DataBind() 
For Each item As RadListBoxItem In AttachmentsRadListBox.Items 
    item.Checked = True 
Next 

지금까지 RadListBox가 채워지고 모든 항목이 확인되었습니다.

이제 RadWindow에 창을 닫기 전에 눌렀을 때 저장 단추가 있습니다. AttachmentsRadListBox에서 선택된 항목을 읽으려고합니다 (사용자가 선택한 항목의 상태를 변경했을 수 있으므로). 그러나 항목을 읽기에 모든 노력을 저장 버튼을 예를 들어 다음 내가 가지고 클릭 실패했습니다

Dim test As Integer = AttachmentsRadListBox.Items.Count // THIS IS ZERO 
For Each item As RadListBoxItem In AttachmentsRadListBox.Items // THERE ARE NO ITEMS 
    If Not item.Checked Then 
     Dim DocumentIDToDelete As Integer = item.Value 
    End If 
Next 

나는 희망으로 왜 코드의 마지막 조각이 작동하지 않는 것을? AttachmentsRadListBox가 포스트 백을 통해 다시 바인딩되지 않습니다. 유일한 시간은 RadWindow가 나타날 때입니다. 그런 다음 RadWindow의 저장 버튼을 누르면 포스트 백이 생성되지만 AttachmentsRadListBox에 그 시점에 항목이없는 이유를 알 수 없습니다.

답변

1

AttachmentsRadListBox를 동적으로 만들었으므로 이후의 포스트 백에서 다시 만드시겠습니까? 결국 서버 컨트롤이기 때문에 ASP가 다시 만들어 지는지 확인해야합니다. 그렇지 않으면 ASP가 후속 다시 게시시 ASP를 파괴하기 때문입니다. RadWindow의 ContentTemplate에서 컨트롤에 액세스하는 방법을 보려면 http://www.telerik.com/help/aspnet-ajax/window-controls-container.html을 참조하십시오.

+0

나는 네가하는 말을 이해하고 있다고 생각하지만, 닷넷 (Telerik) 컨트롤을 사용하기 시작하기 전에 ASP 닷넷을 많이 사용 해왔다. Telerik에서 뭔가 다른 것이 있다고 생각합니다. 좋아, 내가 수정을 적용하려고한다고 가정 해 보겠습니다. 저장을 누르면 포스트 백이 나타납니다. 이는 내가 만든 RadListBox를 잃어 버리고 사용자가 체크 박스의 상태를 변경했음을 의미합니다. 예, 게시물에 RadListBox를 만들 수 있지만 확인란의 상태는 어떻게 유지합니까? 어떻게 든 RadListBox의 상태가 변경되었는지 확인해야 할 수도 있습니다. 하지만 어떻게해야할지 모르겠다. – Dogahe

+0

Page_Init 이벤트에서 동일한 ID를 사용하여 컨트롤을 만드는 경우 컨트롤의 ID (목록 상자 및 확인란)가 같아야하므로 데이터가 확인란 상태를 포함하여 ViewState에서 채워 져야하므로 ASP에서 POST 데이터와 일치 시키십시오. – rdmptn