WEB开发网
开发学院图形图像Flash 学Silverlight 2系列(22):在Silverlight中如何... 阅读

学Silverlight 2系列(22):在Silverlight中如何用JavaScript调用.NET代码

 2008-10-03 11:34:47 来源:WEB开发网   
核心提示:概述Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,学Silverlight 2系列(22):在Silverlight中如何用JavaScript调用.NET代码,如支持框架语言Visual Basic, Visual C#, IronRuby, Iron

概述

Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON、Web Service、WCF以及Sockets的支持等一系列新的特性。《一步一步学Silverlight 2系列》文章将从Silverlight 2基础知识、数据与通信、自定义控件、动画、图形图像等几个方面带您快速进入Silverlight 2开发。

Silverlight中内置了对于HTML、客户端脚本等的支持。上一篇介绍在Silverlight中调用JavaScript,本文我将介绍在Silverlight中如何用JavaScript调用.NET代码。

使用RegisterScriptableObject

在Silverlight 2中提供了如下两个类型:

ScriptableMemberAttribute:允许我们在Silverlight把成员暴露给Script。

ScriptableTypeAttribute:允许我们在Silverlight把类型暴露给Script。

同时HtmlPage提供了RegisterCreateableType和RegisterScriptableObject方法,用来注册可被脚本使用的类型或者对象实例。有了上面这些,就可以做到在JavaScript中调用Silverlight。

看一个简单的示例,在这个示例中,我们期望通过JavaScript传递两个参数给Silverlight中的方法,由该方法计算出结果后显示在Silverlight中,如图所示:

学Silverlight 2系列(22):在Silverlight中如何用JavaScript调用.NET代码 

首先我们编写在Silverlight中的界面布局:

<StackPanel Background="#CDFCAE" Orientation="Horizontal">
  <Border CornerRadius="10" Width="100" Height="40" Margin="50 10 0 0">
    <TextBlock Text="结果显示:" FontSize="20" Foreground="Red"></TextBlock>
  </Border>
  <Border CornerRadius="10" Background="Green" Width="300" Height="40">
    <TextBlock x:Name="result" FontSize="20" Foreground="White"
          Margin="20 5 0 0"></TextBlock>
  </Border>
</StackPanel>

并在加载时注册一个脚本可调用的当前页面实例:

1 2 3  下一页

Tags:Silverlight 系列 Silverlight

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接