您的位置:首页 > Web前端 > JavaScript

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

2014-11-30 22:22 645 查看
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的信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐