【发布时间】:2012-01-06 06:38:04
【问题描述】:
我无法让我的 Silverlight 应用程序显示在 MVC3 Razor 视图中。
当我添加应用程序并生成测试页面(在我的例子中为 TestAppTestPage.aspx)时,我可以浏览到该页面并且应用程序运行正常。如果我将相同的代码复制到 MVC Razor 视图,然后浏览到控制器操作,则应用程序没有任何反应:
<div id="silverlightControlHost">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="ClientBin/TestApp.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>
如果我查看 Chrome 的开发者控制台,我看到的唯一不同是以下警告:“资源解释为其他,但传输的 MIME 类型未定义”。我不确定这是否相关。
我查看了有关 Silverlight 和 MVC 的各种指南,复制其代码的相关部分也不会产生任何结果。我玩过调整路径,使用相对 url,什么都没有。我还检查了 IIS 设置,但因为它在 aspx 测试页面中运行良好,我怀疑这不是原因。
【问题讨论】:
-
不确定这是否是您的问题,但您是否尝试过使用 Url.Content?例如" /> 我从我拥有的 MVC 2 应用程序中挖了这个,不确定 Url.Content 是否是在 MVC 3 中仍然是首选。
-
解决了,非常感谢。如果您想将其作为答案,我可以将其标记为已接受。这很奇怪,因为在使用不同的路径(value="~/ClientBin/TestApp.xap" 等)时,如果路径错误,它将为应用程序返回 404。所以我想当它不是时,路径是好的。再次感谢。