C# 在silverlight和HTML5之间切换

C# 在silverlight和HTML5之间切换,c#,javascript,html,silverlight,C#,Javascript,Html,Silverlight,我有一个Silverlight应用程序,我们目前正在过渡到HTML5 我已经完成了一页,我们希望能够在它们之间切换,但有一个问题。我处理的页面是用户登录时首先看到的页面。我们希望加载Html页面并隐藏Silverlight应用程序 这就是索引页现在的样子: @using DTO @model Models.QMForm @{ ViewBag.Title = ".:: QM"; Layout = "~/Views/Shared/MainLayout.cshtml"; } @s

我有一个Silverlight应用程序,我们目前正在过渡到HTML5

我已经完成了一页,我们希望能够在它们之间切换,但有一个问题。我处理的页面是用户登录时首先看到的页面。我们希望加载Html页面并隐藏Silverlight应用程序

这就是索引页现在的样子:

@using DTO
@model Models.QMForm
@{
    ViewBag.Title = ".:: QM";
    Layout = "~/Views/Shared/MainLayout.cshtml";
 }

 @section menu
 {
    @if (this.User.Identity.IsAuthenticated)
    {
        if (@Model is Manager)
        {
            <li id="home" class="active">
            <a href="#" id="menu_dashboard" onclick="navigateTo
               ('home');">@Model.menuDashboard</a></li>
        }

        <li id="performancecenter">
        <a href="#" id="menu_performance" onclick="navigateTo 
           'performancecenter');">@Model.menuPerformance</a></li>

        if (@Model is Manager || @Model is ApplicationAdministrator)
        {
            <li id="designcenter">
            <a href="#" id="menu_design" onclick="navigateTo      
               ('designcenter');">@Model.menuDesign</a></li>
        }   
    }
}

<div id="silverlightControlHost" style="padding: 0; margin: 0; height: 100%; width: 100%;">
     <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" id="silverlight_control" 
        style="width: 100%; border: 0px; border-style: none; padding: 0; margin: 0;">
    <param name="source" value="~/ClientBin/Coach.UI.QM.xap" />
    <param name="onError" value="onSilverlightError" />
    <param name="background" value="white" />
    <param name="minRuntimeVersion" value="5.1.20513.0" />
    <param name="autoUpgrade" value="true" />
    <param name="Windowless" value="true" />
    <param name="splashscreensource" value="~/SplashScreen.xaml" />
    <param name="onSourceDownloadProgressChanged" value="onSourceDownloadProgressChanged" />
    <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=5.1.20513.0" style="text-decoration:none">
        <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
    </a>
    </object>
</div>
这里的问题是,我们需要在应用程序加载时运行Silverlight,因为我们需要它稍后从第一个主屏幕导航到其他屏幕

我首先尝试在Silverlight主机上添加div,然后使用.show和.hide进行操作,但是如果我不将Silverlight控件设置为隐藏,我将在Silverlight div上方有一个巨大的滚动条和新的HTML内容

如果Silverlight div在开始时是隐藏的,那么它不会加载,并且我无法从主屏幕导航


你有没有想过如何轻松地在它们之间切换?

你有没有在silverlight div上尝试过css隐藏技巧,而不是设置display:none

.hide {
   position: absolute !important;
   top: -9999px !important;
   left: -9999px !important;
}

好东西!我会试试这个!
.hide {
   position: absolute !important;
   top: -9999px !important;
   left: -9999px !important;
}