用JavaScript调用Silverlight(C#)中的方法

Posted on September 18, 2007 by Fdream

用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中怎么调用这个方法。

分享 |
Categories:
Silverlight/C#
Tags:
, ,
Comments:
1 Comment
Views:
18,695 Views

Related Posts

One Response to <用JavaScript调用Silverlight(C#)中的方法>

  1. jiankang says:

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

Leave a Reply

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

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>