【问题标题】:Silverlight Host App only showing loading imageSilverlight Host App 仅显示加载图像
【发布时间】:2010-08-12 19:52:50
【问题描述】:

我正在尝试同时使用 Silverlight 和 MVC。创建一个简单的 Silverlight 应用程序后,我尝试使用 MVC 主机应用程序(使用提供的 aspx 和 html 页面)查看它。问题是,当我查看页面时,我看到的只是加载图像(具有 100% 的值),仅此而已。它从不显示我的应用!

这是aspx页面的html:

<form id="form1" runat="server" style="height:100%">
    <div id="silverlightControlHost">
        <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
          <param name="source" value="ClientBin/MVCSilverlight.xap"/>
          <param name="onError" value="onSilverlightError" />
          <param name="background" value="white" />
          <param name="minRuntimeVersion" value="3.0.40818.0" />
          <param name="autoUpgrade" value="true" />
          <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.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>
    </form>

这是应用程序的 xaml:

<UserControl x:Class="MVCSilverlight.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
    xmlns:uriMapper="clr-namespace:System.Windows.Navigation;assembly=System.Windows.Controls.Navigation"
    mc:Ignorable="d"
    d:DesignHeight="500" d:DesignWidth="500">

    <Canvas x:Name="LayoutRoot" Background="Crimson">        
        <TextBlock Text="Hello World" ></TextBlock>
    </Canvas>
</UserControl>

应用程序中的所有其他内容都是标准代码(我创建项目时生成的代码)。以前有人见过这个问题吗?有什么我想念的吗?我对这两种技术都很陌生,任何信息都会很有帮助。

【问题讨论】:

    标签: asp.net-mvc silverlight


    【解决方案1】:

    当您运行应用程序时,请检查 VS 是否已附加到浏览器进程以进行 Silverlight 调试(不是脚本)。

    还要检查您的 App.xaml.cs 包含:-

        private void Application_Startup(object sender, StartupEventArgs e)
        {
            this.RootVisual = new MainPage();
        } 
    

    加载启动画面将保持原位,而RootVisual 保持未设置。因此,要么代码没有设置它,要么发生错误(由于某种原因,您没有收到错误警报),因此代码永远不会达到RootVisual 的分配。

    还可以为自己获取一个名为Fiddler 的免费HTTP 调试工具,这样您就可以跟踪所有实际的HTTP 对话,也许由于某种原因根本没有下载xap。事实上,这是我的猜测,MVC 路由可能对“ClientBin/MVCSilverlight.xap”做了一些不受欢迎的事情。

    【讨论】:

    • 你是对的,它没有下载。问题在于我创建的一些样式应用程序没有找到(我最初在 FireFox 中进行测试并且它没有抛出错误,必须转到 IE)。实际上,应用程序没有找到我在 Application.Resources 中放置的任何内容(uri 映射和样式)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    相关资源
    最近更新 更多