asp.net页面调用silverlight 3

 解决办法:

 

(1)Silverlight3中已经找不到System.Web.Silverlight.dll文件了,可以到这里下载,在添加到Project中

(2)在asp.net页面的aspx页面的头部注册控件:

  
<%@ Register Assembly="System.Web.Silverlight" Namespace="System.Web.UI.SilverlightControls"
TagPrefix
="asp" %>


(3)调用XAML 

    <form id="form1" runat="server" style="height:100%">
        <asp:ScriptManager ID="ScriptManager2" runat="server"></asp:ScriptManager>
         <div style="height:100%;">
        <asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/SilverlightApplication1.xap"
            MinimumVersion="2.0.31005.0" Width="100%" Height="100%" />
        </div>
   </form>

-------------------------------------------------------

值得注意: 

 

从 Silverlight 2 升级到 Silverlight 3 可能会报如下错误,程序中可能引用了 asp:silverlight 控件:

Could not load file or assembly 'System.Web.Silverlight' or one of its dependencies. The system cannot find the file specified.

未能加载文件或程序集“System.Web.Silverlight”或它的某一个依赖项

原因是 Silverlight 3 SDK 已经移除了 asp:silverlight 和 asp:mediaplayer,这两个控件包含在 System.Web.Silverlight.dll 这个 dll 中。

 

对于升级程序

最简单的方法是:安装 System.Web.Silverlight.dll  这个程序集。

一是,可以同时安装 Silverlight 2 SDK,Silverlight 2 SDK 安装包中包含了这个 dll,位于 C:/Program Files/Microsoft SDKs/Silverlight/v2.0/Libraries/Server 中,Silverlight 2 与Silverlight 3 可以并行运行(side-by-side)。

二是,也可以直接从 http://code.msdn.microsoft.com/aspnetprojects  获取这个 dll 与源码。

 

关于新程序

微软建议使用 html 标准标签 object (以及Silverlight.js)替代 asp:silverlight,简单如下

<object type="application/x-silverlight-2"  
        data="data:application/x-silverlight,"    
        width="450" height="220">  
    <param name="source" value="MySilverlightApplication.xap"/>  
</object> 
注意,FireFox 对于 data 属性,需要包含一个额外的 , (逗号)结尾。
其他完整的属性以及参数可以参考 MSDN Silverlight 插件对象参考 
此外,下载文档 ASP.NET Server Controls for Silverlight in the Silverlight 3 SDK 详细介绍了如何在 Silverlight 3 中用 object 来初始化 silverlight 应用程序。
示例(见Silverlight 3 object tag param list (aka Where is my asp:Silverlight control?))
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
  <param name="source" value="ClientBin/MyApplication.xap"/>
  <param name="onError" value="onSilverlightError" />
  <param name="background" value="white" />
  <param name="minRuntimeVersion" value="3.0.40624.0" />
  <param name="autoUpgrade" value="true" />
  <param name="enableRedrawRegions" value="true" />          
  <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration:none">
      <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/>
  </a>
</object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe>
注意上面的代码中 iframe 是为了跨浏览器兼容性。iframe 防止 Safari 缓存该页。当用户退回访问过的页面,Safari 缓存会阻止 Silverlight 插件重新加载。iframe 必须紧接着 </object>。
 
参考
Silverlight 3 object tag param list (aka Where is my asp:Silverlight control?)
ASP.NET Controls in Silverlight 3
http://silverlight.net/learn/whitepapers/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值