在ASP.NET中轻松使用Silverlight呈现动态数据abc
Silverlight的好处之一就是:可以轻松实现像Flash一样美观地展示ASP.NET动态产生的数据。换句话说,Silverlight让ASP.NET展示出来的数据告别永远都方方正正的HTML标签。
个人觉得,就凭这一点,把Silverlight说成是“Flash杀手”也是不为过的。
下面我就简单地示例一下:
(为了便于大家理解,我做的事最最最最简单的示例,旨在抛砖引玉;大家千万不要认为Silverlight不过如此。关于Silverlight有多么powerful,还请看官归而结网,自己动手实践。)
1.创建一个嵌入Silverlight的ASP.NET页面(.aspx格式)。
和普通的ASP.NET页面的区别是,你要为留出一个<div>。Silverlight就嵌入到这个<div>中。怎样嵌? 首先是引用两个javascript文件
然后,在你预留的那个<div>中使用createSilverlight()方法,创建对象。
2. Silverlight呈现ASP.NET动态数据的原理
首先,你应该对XAML有所了解。这里就不多说了.
要用Silverlight 来呈现ASP.NET的动态数据,原理就是在ASP.NET的后台程序里直接操纵XAML文件。XAML文件其实就是XML,而.NET的System.Xml命名空间里包含有相当丰富的操作XML的类和方法。于是,一切都变得那么简单。
3. 用Expression Blend随便画两笔。
不需要我教你怎么使用,你天生就会,因为Blend使用起来就只比Windows自带的“画画”稍稍复杂那么一点点而已。看图:
注意按照我们的需要,画的时候,至少还要要包括一个TextBlock对象。
画完后,得到XAML代码,复制到与Index.aspx同目录的demo.xaml中。
4.将ASP.NET动态生成的数据写入XAML
我们创建另外一个ASP.NET页面,命名为XMAL_Source.aspx。 这个文件的的唯一功能就是生成经过ASP.NET动态数据修改过的XAML文件。
首先,载入原本的XAML文件:
然后,添加XAML的NameSpace
接着,定位需要修改的XAML对象。
上图示例了如何定位一个叫做"txtName"的 TextBlock对象。
最后,修改这个对象的属性。这里的“属性”,包括一切属性,颜色、大小、alpha、边框、形状等等等等XAML支持的属性。修改它所显示的数据更不在话下。
上图示例的仅仅是赋一个字符串给TextBlock的Value属性。实际应用中,可以赋任何能够ToString()的对象。最典型的就是你从数据库中读出的数据。
5.修改Silverlight的“数据源”
我们可以把经过修改后的XAML称为"Silverlight的数据源"。需要做的,只是两行Javascript语句而已。
还记得前面为Silverlight预留的<div>么? 在这个<div>中,我们调用了createSilverlight()来创建对象,接下来我们可以修改这个Silverlight对象的“数据源”。方法是在Body的onload事件发生时执行以下代码:
好了,大功告成了! 看看效果!
我是一个没有任何美术功底的dev, 仅仅是拿出Expression Blend,花了不到1分钟,随便画了两笔而已。但是这样的效果,是不是比传统的HTML标签好得多呢?
代码下载地址:Silverlight实例代码

Swift 3D 与 Microsoft® Silverlight™ 实现集成 (2008-3-6 14:51:58)
Silverlight寻宝图 (2008-1-11 19:37:50)
silverlight网站 - 百度音乐抢先族 (2008-1-11 19:10:48)