将 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.
我不知道是否应该这样做。
虽然技术上可以将 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 应用程序,然后也在那里添加项目。然后用您当前的代码尝试一下,看看是否可行。
我决定将 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.
我不知道是否应该这样做。
虽然技术上可以将 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 应用程序,然后也在那里添加项目。然后用您当前的代码尝试一下,看看是否可行。