微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Silverlight和浏览器交互(2)----Silverlight中使用托管代码调用JavaScript

Silverlight中使用托管代码调用JavaScript

(7)    SliverlightJavascript交互

1)      使用托管代码调用Javascript

a)      直接调用HtmlWindow对象的AlertConfirm对象

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的信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐