Silverlight中C#获取与修改HTML DOM元素信息
——Silverlight与JavaScript交互第一篇

第二篇:用JavaScript调用Silverlight(C#)中的方法
第三篇:用Silverlight(C#)调用JavaScript中的方法
==================================

在Silverlight 1.1中主要使用C#或者VB进行开发,用C#来处理Silverlight中的所有事物逻辑,而不再是1.0中的JavaScript。也因而使得Silverlight和JavaScript的交互则开始变得复杂起来,无论是要用JavaScript调用C#中的方法,还是要用C#调用JavaScript中的方法。

用C#和JavaScript交互首先要解决C#读取HTML DOM元素的问题。

在Silverlight中,要用C#来读取HTML DOM中的元素非常简单,在System.Windows.Browser命名空间下,有一个HtmlDocument、HtmlPage、HtmlElement等类,可以用来读取HTML DOM元素。其读取方法和JavaScript如出一辙。

//初始化一个document
HtmlDocument document = HtmlPage.Document;
//获取一个DOM节点
dom = document.GetElementByID(“yourDomId”);
//string

获取到HTML DOM元素结点之后,我们就可以获取DOM元素的值了,例如innerHTML或者innerText或者Value等值了。例如:

string s = dom.GetAttribute(“value”);

另外,我们也可以通过C#提供的一些方法来动态改变HTML DOM元素的样式或者值。例如:

dom.SetAttribute(“innerText”, “This is Text”);
dom.SetStyleAttribute(“left”, 40 + “px”);
dom.SetStyleAttribute(“top”, 35 + “px”);

OK!第一篇就到这里,后面还有两篇,一篇讲怎么通过JavaScript调用Silverlight(C#)里的方法,一篇讲怎么通过Silverlight(C#)来调用JavaScript里的方法。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.