문제

Telerik Radpanelbar 컨트롤에 대한 질문이 있습니다.

예를 들어 양식에 대한 Radpanelbar 컨트롤이 있습니다.

        <telerik:RadPanelBar ID="testPanelBar" runat="server">
        </telerik:RadPanelBar>

런타임 에이 Radpanelbar에 새 항목을 추가하는 버튼 :

        RadPanelItem newParentItem = new RadPanelItem();
        RadPanelItem newChildItem = new RadPanelItem();
        newChildItem.Controls.Add(new RadTextBox());
        newChildItem.Text = "wazzap";
        newParentItem.Items.Add(newChildItem);
        languagesPanelBar.Items.Add(newParentItem);

버튼을 클릭하면 모든 어린이 컨트롤이 포함 된 새로운 Radpanelitem이 추가됩니다 (이 경우 Child 항목의 RadtextBox입니다).

버튼이 두 번째로 클릭되면 모든 컨트롤과 함께 두 번째 Radpanelitem이 추가되지만 이번에는 Radtexbox 컨트롤이 첫 번째 Radpanelitem에서 사라졌습니다.

버튼을 세 번째로 클릭하면 모든 컨트롤이 추가되었지만 RadtextBox는 1st 및 2nd 항목에서 분리됩니다.

아이템을 동적으로 추가 할 때 뭔가 잘못하고 있습니까?

감사합니다 !

도움이 되었습니까?

해결책

이는 Postback 후 동적으로 생성 된 다른 컨트롤에 추가 된 동적으로 생성 된 컨트롤이 손실되기 때문에 발생합니다. 모든 페이지로드에서 재현해야합니다. 내가 아는 한,이 문제에 대한 해결 방법은 없습니다. page_load try controls.add (new textbox ())에서 페이지 클래스로 쉽게 재현 할 수 있습니다. 그런 다음 Postback 후에 동일한 코드가 새 (두 번째) 텍스트 상자를 생성하지 않지만 나중에 다시 만들어집니다.

모든 패널 바 항목 (동적으로 생성 된 항목조차도)은 클라이언트에서 직렬화되며 포스트 백이 서버에서 재현됩니다. 그리고 이것이 그들이 잃어버린 이유입니다. 그러나 Radpanelitem 대상의 아동 제어에는 동일한 것이 적용되지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top