WEB开发网
开发学院图形图像Flash 学Silverlight 2系列(21):如何在Silverlight中... 阅读

学Silverlight 2系列(21):如何在Silverlight中调用JavaScript

 2008-10-03 11:34:53 来源:WEB开发网   
核心提示: 既然HtmlPage.Window.Eval()可以执行一段脚本,并且将执行的结果以对象形式返回,学Silverlight 2系列(21):如何在Silverlight中调用JavaScript(4),我们可以使用它来获取DOM元素,如下面这段代码:private void submit

学Silverlight 2系列(21):如何在Silverlight中调用JavaScript

既然HtmlPage.Window.Eval()可以执行一段脚本,并且将执行的结果以对象形式返回,我们可以使用它来获取DOM元素。如下面这段代码:

private void submit_Click(object sender, RoutedEventArgs e)
{
  HtmlElement result = HtmlPage.Window.Eval("document.getElementById('result')") as HtmlElement;
  string message = result.GetAttribute("innerHTML");
  HtmlPage.Window.Alert(message);
}

运行后效果如下,获取的result确实就是我们定义的div。

学Silverlight 2系列(21):如何在Silverlight中调用JavaScript 

对AJAX框架的支持

前面说过,ScriptObject不仅仅是对JavaScript的封装,也支持其它的AJAX框架,现在我们用jQuery来测试一下,编写一小段代码:

<script type="text/javascript">
  function myHello(message)
  {
    $("#result").text("Hello " + message);
  }
</script>

调用脚本

private void submit_Click(object sender, RoutedEventArgs e)
{
  ScriptObject script = HtmlPage.Window.GetProperty("myHello") as ScriptObject;
  script.InvokeSelf(this.input.Text);
}

运行后的结果与前面的示例是一样的:

学Silverlight 2系列(21):如何在Silverlight中调用JavaScript 

结束语

本文介绍了在Silverlight中调用JavaScript的几种方法,下一篇我将介绍如何在JavaScript中调用Silverlight。

上一页  1 2 3 4 

Tags:Silverlight 系列 如何

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接