用JavaScript调用Silverlight(C#)中的方法
——Silverlight与JavaScript交互第二篇

第一篇:Silverlight中C#获取与修改HTML DOM元素信息
第三篇:用Silverlight(C#)调用JavaScript中的方法
======================================

Silverlight是基于浏览器的应用,因此在Silverlight与用户的交互过程中,经常需要涉及Silverlight与JavaScript的交互,用JavaScript调用Silverlight中的方法也就比较正常。在Silverlight中,提供了这样的解决方式:使用[Scriptable]标签则可以允许JavaScript访问该标签下的类、属性和方法。

用调JavaScript用Silverlight(C#)中的方法的实现步骤如下:

在Page类(自动生成的部分)的上面加上[Scriptable]标签,表示允许JavaScript访问这个类。代码如下:

[Scriptable]
public partial class Page : Canvas

其次,我们要为这个Page类实例注册一个名字,可以为该Page类写一个构造函数,然后在构造函数中为其注册。代码如下:

[Scriptable]
public partial class Page : Canvas
{
public Page()
{
//注册的名字叫做testcallcs
//在JavaScript代码里面我们会用到这个名字
WebApplication.Current.RegisterScriptableObject(“testcallcs”, this);
}
}

然后我们再在该类中写一个方法,以供JavaScript调用。这个方法也要用[Scriptable]标签标记,如下:

[Scriptable]
public string TestJS()
{
return “This is From C#”;
}

特别需要注意的是:目前Silverlight和JavaScript之间只能传递字符串。因此在处理的过程中要注意类型转换。

我们再看看,在JavaScript中怎么调用这个方法。

1 Comment

  1. 本群征集在上海从事IT行业的精英人才,我们共同努力共同发展。
    群号码:46659711欢迎加入 现在人员80

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.