开发者

Output markup & controls dependent on result of Javascript function

开发者 https://www.devze.com 2023-04-01 00:14 出处:网络
I have an ASP.NET page which includes markup and 3rd party开发者_如何学C controls (in this particular case Telerik controls) e.g.

I have an ASP.NET page which includes markup and 3rd party开发者_如何学C controls (in this particular case Telerik controls) e.g.

<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>

I only want to display this if an ActiveX control is installed. From another question I have a Javascript function (ActiveXOrNull) which successfully detects this so now I have replaced the above in my markup with:

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

How do I include the original markup in the Javascript function? Can I "include" another page or is there another method available?


If you put the control in a <div> tag

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

Then inside the javacript function you can put


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

By Default, set the div to be display: none and then show it to the user if they have the ActiveX object.

This will hide the element of the page through the style property display. However, this will still render the control on the page, so the control will still be rendered.

EDIT

Updated answer suggested by Stilgar.

0

精彩评论

暂无评论...
验证码 换一张
取 消