2014-11-07 2 views
0

Telerik radcombobox가 aspx 페이지에서 제대로 업데이트되지 않는 문제가 있습니다. 본질적으로 사용자는 radcombox 1에서 '예'또는 '아니오'를 선택합니다. 사용자가 '예'를 선택하면 radcombobox 2가 표시되고 radcombobox 3은 숨겨야합니다. 사용자가 '아니요'를 선택하면 radcombobox 3가 표시되고 radcombobox 2가 숨겨져 야합니다.콤보 상자가 코드 숨김으로 표시되지만 aspx 페이지에는 표시되지 않습니다.

코드 숨김은 vb.net입니다. aspx 페이지에서 콤보 박스 1은 ajaxed이며 다른 두 radcomboboxes를 업데이트하기로되어 있습니다. radcombobox 1의 SelectedIndexChanged 서브 코드에있는 코드에서 radcombobox 2와 3의 'visible'속성은 사용자의 선택에 따라 바뀝니다.

문제는 페이지 재로드가 본질적으로 포스트 백을 강제하기 때문에 발생하는 것으로 가정하는 페이지가 다시로드되지 않는 한 radcombox가 스와핑 (즉, aspx 페이지에서 업데이트)되지 않는 것입니다.

나는이 문제를 해결하기 위해 포스트 백을 강요하고 싶지 않습니다. 그게 임시 해결책 인 것 같아서 논리가 왜 작동하지 않는지 이해하고 싶습니다.

다음은 실제 코드입니다. 위의 radcomboxox에 대한 일반적인 이름을 사용했습니다.

If Me.cboKey.Visible = True OrElse Me.cboKey_X2.Visible = True Then 
If piX2 <> 0 Then 
    Me.cboKey.Visible = False 
    Me.cboKey_X2.Visible = True 
ElseIf piX2 = 0 Then 
    Me.cboKey_X2.Visible = False 
    Me.cboKey.Visible = True 
End If 

끝이 크게 감상 할 수있다 작동하지 않는 이유를 이해 어떤 도움

경우 :

<telerik:AjaxSetting AjaxControlID="cboX2"> 
<UpdatedControls> 
    <telerik:AjaxUpdatedControl ControlID="cboKey" /> 
    <telerik:AjaxUpdatedControl ControlID="cboKey_X2" /> 
</UpdatedControls> 

여기에 콤보 상자 1의 코드는 하위의 SelectedIndexChanged입니다! 이 같은

답변

0

시도 뭔가 : 이러한 AJAX 설정으로

 <asp:Panel ID="Panel1" runat="server"> 
      <telerik:RadComboBox ID="RadComboBox1" runat="server"></telerik:RadComboBox> 
      <telerik:RadComboBox ID="RadComboBox2" runat="server"></telerik:RadComboBox> 
      <telerik:RadComboBox ID="RadComboBox3" runat="server"></telerik:RadComboBox> 
     </asp:Panel> 

은 :

   <telerik:AjaxSetting AjaxControlID="RadComboBox1"> 
        <UpdatedControls> 
         <telerik:AjaxUpdatedControl ControlID="Panel1" /> 
        </UpdatedControls> 
       </telerik:AjaxSetting> 

아마, 어떤 이유로, 다른 콤보 상자가 업데이트되지 않습니다. 대부분의 경우 기본적으로 Visible = false이므로 RadAjaxManager는 UpdatePanel을 래핑하여 업데이트 할 수 없습니다. 단순히 존재하지 않기 때문입니다.

+0

의견을 보내 주셔서 감사합니다. 패널 추가를 시도했지만 여전히 동일한 결과를 얻고 있습니다. 콤보 상자는 aspx 페이지에 포함 된 사용자 정의 컨트롤에 있으므로 어쩌면 간섭을 일으키는 상황이 발생할 수 있습니다. – AmyW

+0

먼저 모든 AJAX를 제거하십시오. 일이 잘되면 문제는 필요한 컨트롤이 클라이언트에서 이동하지 않는다는 것입니다. 이 경우 AJAX가 활성화되어있을 때 네트워크 응답을 검사하고 AJAX 설정을 수정하기 위해 포함 된 것과 그렇지 않은 것을 확인하십시오. 서버/JavaScript 오류로 인해 문제가 발생할 가능성이 항상 있으므로 서버 코드를 단계별로 실행하고 브라우저 콘솔을 모니터링하여 문제를 해결하십시오. – rdmptn

+0

페이지 (및 타임 라인 제한)의 복잡성으로 인해 다른 경로를 선택하고 페이지를 업데이트하여 두 콤보 상자를 숨기거나 표시하지 않고 초기 콤보 상자에서 사용자의 선택에 따라 단일 콤보 상자를 다시 바인딩했습니다. 콤보 상자. 시간 내 주셔서 대단히 감사합니다 !! – AmyW

관련 문제