在ASP.NET中轻松使用Silverlight呈现动态数据abc

[ Sunday, March 09, 2008 ]
Tags:  silverlight  

Silverlight的好处之一就是:可以轻松实现像Flash一样美观地展示ASP.NET动态产生的数据。换句话说,Silverlight让ASP.NET展示出来的数据告别永远都方方正正的HTML标签。

个人觉得,就凭这一点,把Silverlight说成是“Flash杀手”也是不为过的。

下面我就简单地示例一下:

(为了便于大家理解,我做的事最最最最简单的示例,旨在抛砖引玉;大家千万不要认为Silverlight不过如此。关于Silverlight有多么powerful,还请看官归而结网,自己动手实践。)

1.创建一个嵌入Silverlight的ASP.NET页面(.aspx格式)。

   和普通的ASP.NET页面的区别是,你要为留出一个<div>。Silverlight就嵌入到这个<div>中。怎样嵌? 首先是引用两个javascript文件

image

    然后,在你预留的那个<div>中使用createSilverlight()方法,创建对象。image

2. Silverlight呈现ASP.NET动态数据的原理

    首先,你应该对XAML有所了解。这里就不多说了.

   要用Silverlight 来呈现ASP.NET的动态数据,原理就是在ASP.NET的后台程序里直接操纵XAML文件。XAML文件其实就是XML,而.NET的System.Xml命名空间里包含有相当丰富的操作XML的类和方法。于是,一切都变得那么简单。

3.  用Expression Blend随便画两笔。

    不需要我教你怎么使用,你天生就会,因为Blend使用起来就只比Windows自带的“画画”稍稍复杂那么一点点而已。看图:

image

   注意按照我们的需要,画的时候,至少还要要包括一个TextBlock对象。

  画完后,得到XAML代码,复制到与Index.aspx同目录的demo.xaml中。

image

4.将ASP.NET动态生成的数据写入XAML

  我们创建另外一个ASP.NET页面,命名为XMAL_Source.aspx。 这个文件的的唯一功能就是生成经过ASP.NET动态数据修改过的XAML文件。

   首先,载入原本的XAML文件:

   image

  然后,添加XAML的NameSpace

image

  接着,定位需要修改的XAML对象。

image

  上图示例了如何定位一个叫做"txtName"的 TextBlock对象。

  最后,修改这个对象的属性。这里的“属性”,包括一切属性,颜色、大小、alpha、边框、形状等等等等XAML支持的属性。修改它所显示的数据更不在话下。

image

上图示例的仅仅是赋一个字符串给TextBlock的Value属性。实际应用中,可以赋任何能够ToString()的对象。最典型的就是你从数据库中读出的数据。

5.修改Silverlight的“数据源”

我们可以把经过修改后的XAML称为"Silverlight的数据源"。需要做的,只是两行Javascript语句而已。

还记得前面为Silverlight预留的<div>么? 在这个<div>中,我们调用了createSilverlight()来创建对象,接下来我们可以修改这个Silverlight对象的“数据源”。方法是在Body的onload事件发生时执行以下代码:

image

 

好了,大功告成了! 看看效果!

image

 

我是一个没有任何美术功底的dev, 仅仅是拿出Expression Blend,花了不到1分钟,随便画了两笔而已。但是这样的效果,是不是比传统的HTML标签好得多呢?

 

代码下载地址:Silverlight实例代码

相关文章:
发布:babycrazy | 分类:Silverlight | 评论:0 | 引用:0 | 浏览:
发表评论