将Silverlight应用程序嵌入到MVC中

时间:2015-06-16 15:18:03

标签: c# asp.net-mvc-5 silverlight-5.0

我决定将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 =&#34; server&#34 ;, runat有一个绿色下划线并说:

  

ASP.NET属性仅允许在ASP.NET文件中使用。

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

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

2 个答案:

答案 0 :(得分:1)

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

Silverlight应用程序也在沙盒环境中运行,这意味着您的情况中的每个“页面”都将是一个不同的“应用程序”。您仍然需要重写和实现特定于Web的控制器和视图来托管每个Silverlight组件。建议考虑改写。

答案 1 :(得分:1)

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