将 Silverlight 应用程序嵌入到 MVC 中

Embedding a Silverlight App into a MVC

我决定将 WPF 转换为 Silverlight 应用程序。我唯一的问题是试图让它在我的 MVC 网络浏览器中显示 silverlight 应用程序。我将我所有的 silverlight 项目添加到我的 MVC 项目中。我只是没有得到它来显示我的 silverlight 应用程序。有人能告诉我我在 CSHTML

的 asp 部分做错了什么吗
<h2>System</h2>
 <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
  <div id="silverlightControlHost">
     <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="1000" height="800">
        <param name="source" value="/ClientBin/System.xap" />
        <param name="onError" value="onSilverlightError" />
        <param name="background" value="white" />
        <param name="minRuntimeVersion" value="5.0.61118.0" />
        <param name="autoUpgrade" value="true" />
        <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=5.0.61118.0" style="text-decoration:none">
          <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none" />
        </a>
     </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe>
  </div>
</asp:Content>

我什至试图从我添加的项目的根文件夹中获取完整的源路径。

<param name="source" value="/System/System.Web/ClientBin/System.xap" /> 

它仍然不会显示 silverlight 应用程序。

我注意到的另一件事是 runat="server",runat 有绿色下划线并表示:

ASP.NET attributes are only allowed in ASP.NET files.

我不知道是否应该这样做。

I got how to embed a Silverlight into a MVC from here

虽然技术上可以将 WPF 以 Silverlight 应用程序的形式嵌入到网站中,但应尽可能避免这种情况,请参阅 8 reasons to avoid Flash (or Silverlight) like the plague when designing a website. This and this 也是一本好书。

Silverlight 应用程序也在沙盒环境中 运行,这意味着每个 "page" 在您的情况下都会有所不同 "application"。您仍然需要重写和实现特定于 Web 的控制器和视图来托管每个 Silverlight 组件。建议考虑重写。

您的 MVC 项目中是否添加了 Silverlight 项目?如果你不这样做,你将需要转到你的 MVC 项目,右键单击它并转到属性。转到 silverlight 应用程序,然后也在那里添加项目。然后用您当前的代码尝试一下,看看是否可行。