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

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

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