Silverlight™ 3 SDK(软件开发套件)已经移除 ASP.NET MediaPlayer 与 ASP.NET Silverlight 这 2 个 Silverlight 的 ASP.NET 控件

摘要:Silverlight™ 3 SDK(软件开发套件)已经移除 ASP.NET MediaPlayer 与 ASP.NET Silverlight 这 2 个 Silverlight 的 ASP.NET 控件


Silverlight™ 2 SDK(安装 Silverlight™ 2 Tools for Visual Studio 2008 SP1 时,即会随之安装)提供的 2 个 Silverlight ASP.NET 服务器控件:

  • ASP.NET MediaPlayer 控件
    将音讯 (WMA) 和视讯 (WMV) 的媒体来源,整合到 Web 应用程序中。
  • ASP.NET Silverlight 控件
    搭配 ScriptManager 控件,让您在 Web 网页中,内嵌 XAML 应用程序。

在 Silverlight™ 3 SDK(安装 Silverlight™ 3 Tools for Visual Studio 2008 SP1 时,即会随之安装)已经移除了上述的 Silverlight™ ASP.NET 服务器控件,也就是说,当您在未安装过 Silverlight™ 2 SDK 的 Visual Studio 2008 SP1 整合式开发环境中,开启 .aspx 网页,展开“工具箱”之后,将看不到“Silverlgiht”这 个索引标签(如果您同时安装 Silverlight™ 2 SDK 与 Silverlight™ 3 SDK,则会看到该索引标签)。如欲将既有的 Silverlight™ 2 方案升级成 Silverlight™ 3,或是在 Silverlight™ 3 使用这 2 个控件,请自行由 MSDN Code Gallery 下载 ASP.NET Server Controls for Silverlight Samples(其内含的 System.Web.Silverlight.dll 目前版本为 3.0.40210.0)。

下载完毕之后,请解开压缩档,将其根目录中的 System.Web.Silverlight.dll 复制到 Silverlight™ 3 方案中的 ASP.NET 网站项目内的 Bin 目录。接着用鼠标右键按一下“方案总管”中的网站项目,然后按下“属性页”命令,再按下“参考”节点,以便将刚刚复制的 System.Web.Silverlight.dll 加入参考。

不要忘记要在 Web.config 档指定标记前置词与命名空间的对应,或是直接在 ASP.NET 网页中,使用 @ Register 指示词,如下所示即是在网页中,使用 @ Register 指示词的设定:

view source
printabout

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




如果您的方案是从 Silverlight™ 2 或是 Silverlight™ 3 Beta 升级而来,建议您将原本使用 ASP.NET Silverlight 控件的网页换成 标记,以便透过 HTML 语法内嵌并设定 Silverlight 插件,最重要的是此种方式可以与 Silverlight 所有支持的浏览器相容。例如原本的网页程序为:



view source
printabout

1.<asp:Silverlight runat="server" Width="100%" Height="100%"
2.  Source="~/ClientBin/LimingStudio.xap"
3.  ScaleMode="Stretch"
4.  MinimumVersion="2.0.0.0"
5.  OnClientPluginLoaded="onLoad" />



改成:



view source
printabout

01.<script type="text/javascript">
02.function handleResize(obj) {
03.  // 在此撰写处理 Silverlgiht 插件尺寸的程序
04.}
05. 
06.function onLoad(obj) {
07.  // 在此撰写处理载入 Silverlgiht 插件的程序
08.}
09.script>
10. 
11....
12. 
13.<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
14.  <param name="Source" value="/ClientBin/LimingStudio.xap" />
15.  <param name="OnResize" value="handleResize" />
16.  <param name="minRuntimeVersion" value="3.0.40624.0" />
17.  <param name="OnLoad" value="onLoad" />
18.object>




兹将上述的参数简要说明如下:




  • 使用 data 属性可以避免在某些浏览器上发生性能低落的问题。提醒大家,末端双引号前的逗号是属性值的一部分,代表第 2 个数据参数的值是空值


  • type 属性是用 Silverlight MIME 类型来识别 Silverlight 插件及其所需的版本。


  • 至于 widthheight 是为了跨浏览器相容性所需的属性,用来指定相对于父项目宽度和高度的固定像素值或是百分比。如果使用相对大小,即可以透过上述程序中的 handleResize 函数来处理 Content.Resized 事件,以便当插件的大小变更时,可以进行适当的处理。


  • param 项目中的 source 是必要的属性设定,它会指出应用程序文件所在的位置与名称。我们通常会使用相对路径来指定 .xap 应用程序套件。


  • param 项目中的 minRuntimeVersion 用来指定执行 Silverlight 应用程序所需的 Silverlight 插件之最小版本为何。


最后,请不要忘记将 Silverlight™ 3 所提供的

Silverlight.js

档(默认的所在目录为:C:Program FilesMicrosoft SDKsSilverlightv3.0Tools)复制到 ASP.NET 网站项目中,并在网页中加以引用。