Silverlight和浏览器交互介绍----Silverlight中使用托管代码调用JavaScript

本文深入探讨了Silverlight环境下如何通过托管代码调用JavaScript的方法,包括直接调用HTMLWindow对象的Alert和Confirm,使用GetProperty方法调用JS代码,创建实例调用JS代码,使用Eval方法直接运行JS脚本,以及调用JavaScript中的Json对象等技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                 Silverlight中使用托管代码调用JavaScript

(7)    Sliverlight和Javascript交互

1)      使用托管代码调用Javascript

a)      直接调用HtmlWindow对象的Alert和Confirm对象

b)      使用GetProperty方法调用Javascript代码

<script  type=”text/javascript”>

     Function myScriptMethod(a,b)

     {

               Var  resultDiv = $get(“result”);

               resultDiv.innerText = “A: ”+a+ “, B: ”+b;

}

</script>

ScriptObject sObj = HtmlWindow.GetProperty(“myScriptMethod”) as ScriptObject;

sObj.InvokeSelf(a,b);

c)       使用CreateInstance方法调用Javascript代码

<script  type=”text/javascript”>

     myScriptType = function(x,y)

     {

               This.X = x;

               This.Y = y;

}

myScriptType .prototype

     {

               Display function()

               {

                        Var  resultDiv = $get(“result”);

                        resultDiv.innerText = “A: ”+a+ “, B: ”+b;

}        

}

</script>

ScriptObject  sObj = HtmlWindow.CreateInstance(“myScriptType”,a,b);

sObj.Invoke(“Display”);

d)      使用Eval方法

使用Eval方法直接运行一段Javascript脚本,实际上就是将一段Javascript代码,直接提交到浏览器的Javascript引擎运行。

String  javaScriptStr = $get(“result”).innerText = “A: ”+a+ “, B: ”+b;

HtmlWindow.Eval(javaScriptStr);

e)      调用JavaScript中的Json对象

<script  type=”text/javascript”>

     Var Person = {Name:’Chris Meng’, Age:’26’};

Function myPerson()

     {

               Return Person;

}

</script>

Public class Person

{

     Public string Name{get;set;}

     Public int Age{get;set;}

}

ScriptObject  sObj = HtmlWindow.Invoke(“myPerson”,null) as ScriptObject;

Person person = sObj.ConvertTo<Person>();

即可得到前台的Javascript的信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值