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