2011-08-29 2 views
0

마크 업 및 타사 컨트롤 (이 경우 Telerik 컨트롤)이 포함 된 ASP.NET 페이지가 있습니다.출력 마크 업 및 컨트롤은 자바 스크립트 함수의 결과에 따라 달라집니다.

<h1>Hello</h1> 

<telerik:RadToolBar ID="toolbarCAD" runat="server" Skin="Web20" Height="30px" Width="300px" OnClientButtonClicked="OnClientButtonClicked"> 
    <Items> 
     <telerik:RadToolBarButton runat="server" Text="Zoom In" ImageUrl="~/images/zoom_in.png" Value="cadZoomIn"> 
        </telerik:RadToolBarButton> 
    </Items> 
</telerik:RadToolBar> 

ActiveX 컨트롤이 설치된 경우에만 표시하고 싶습니다. 나는 자바 스크립트 함수의 원래 마크 업을 포함하려면 어떻게

<script type="text/javascript"> 
    var obj = ActiveXOrNull('CADViewX'); 
    if (obj == null) { 
     WHAT DO I DO HERE 
    } 
</script> 

: 또 다른 질문에서 나는 성공적으로 그래서이를 감지 지금은 내 마크 업 위를 교체 한 자바 스크립트 기능 (ActiveXOrNull)가? 다른 페이지를 "포함"할 수 있습니까? 아니면 다른 방법을 사용할 수 있습니까? 당신이 <div> 태그에 컨트롤을 넣으면

답변

1

<div id="telerickControl"> 
    <telerik:RadToolBar......... 
    </telerick:RadToolBar> 
</div> 

는 그 다음 javacript의 함수 내에서 당신은 기본적으로


    var obj = ActiveXOrNull('CADViewX'); 
    if (obj == null) { 
     document.getElementById("telerickControl").style.display = "block"; 
    } 

을 넣을 수 display: none을하고 그 다음에 표시 할 div 설정 사용자에게 ActiveX 개체가있는 경우

그러면 스타일 속성 display을 통해 페이지의 요소가 숨겨집니다. 그러나이 여전히 컨트롤을 렌더링 할 수 있도록 페이지에서 컨트롤을 렌더링합니다. Stilgar에 의해 제안

편집

업데이트 대답.

+1

다른 방법으로해야합니다. 마크 업에서 보이지 않게하고 JS를 통해 활성화하십시오. 그렇지 않으면 사용자는 JS가 실행되기 전에 잠깐 보게됩니다. – Stilgar

+0

@ Stilgar, 좋은 생각. Gary Joynes - 이렇게 해보세요. –