【问题标题】:Silverlight app works in aspx page, not MVC Razor ViewSilverlight 应用程序适用于 aspx 页面,而不是 MVC Razor 视图
【发布时间】: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。所以我想当它不是时,路径是好的。再次感谢。

标签: asp.net-mvc silverlight


【解决方案1】:

根据mfanto的评论,把我的评论变成答案。

在我的评论中猜测,但我在不对任何外部文件使用 Url.Content 时遇到了问题。所以解决方法是使用类似的东西

<param name="source" value="<%= Url.Content("~/ClientBin/TestApp.xap") %>" />

请注意,这是来自 MVC 2 应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    • 2021-02-13
    相关资源
    最近更新 更多