第21章 ASP.NET Web部件

在互联网飞速发展的今天,网站的应用变得越来越复杂。一个好的门户网站不仅仅需要内容专业充实、外观美观大方。同时,它还需要能够满足用户的一些个性化服务需求,如用户可以根据自身的需要进行信息显示定制、编辑页面布局等。

在ASP.NET中,使用Web部件技术就可以很好地来解决这些个性化服务需求,从而使网站用户体验度大大提高。

21.1 什么是Web部件

其实,早在ASP.NET 2.0新增了Web部件功能之后,就有越来越多的网站为用户定制了个性化服务的功能。其中,比较典型的有微软的MSN网站,如图21-1所示。

figure_0753_0558

图 21-1 MSN网站

在MSN网站中,用户可以在登录网站之后,根据自己的需要来改变网页的布局,添加自己喜欢的内容,删除不感兴趣的内容等。当你以后再次登录MSN网站的时候,所有的这些个性化设置都会生效,即主页的设计与离开的时候完全一样。

那么,究竟什么是Web部件,它又能够提供哪些个性化服务呢?

如图21-2所示,与其他ASP.NET的其他控件一样,Web部件是ASP.NET的一组集成控件,它用于创建网站使最终用户可以直接从浏览器中修改网页的内容、外观和行为。当然,这些修改可以应用于网站上的所有用户,也可以应用于个别用户。当用户修改页和控件时,可以保存这些设置以便用户再次登录时保留用户的个人首选项,这种功能也就是所说的个性化设置。Web部件的功能意味着开发人员可以使最终用户动态地对Web应用程序进行个性化设置,而无须开发人员或管理员的干预。

figure_0754_0559

图 21-2 Web部件控件集

简单地讲,Web部件控件集由三个主要构造块组成:个性化设置、用户界面结构组件和实际的Web部件UI控件。通过使用这些Web部件控件集,开发人员可以使最终用户执行下列操作:

1)对页内容进行个性化设置。用户可以像操作普通窗口一样在页上添加新Web部件控件,或者移除、隐藏或最小化这些控件。

2)对页面布局进行个性化设置。用户可以将Web部件控件拖到页的不同区域,也可以更改控件的外观、属性和行为。

3)导出和导入控件。用户可以导入或导出Web部件控件设置以用于其他页或站点,从而保留这些控件的属性、外观甚至其中的数据。这样可减少对最终用户的数据输入和配置要求。

4)创建连接。用户可以在各控件之间建立连接。例如,Chart控件可以为Stock Ticker控件中的数据显示图形。用户不仅可以对连接本身进行个性化设置,而且可以对Chart控件如何显示数据的外观和细节进行个性化设置。

5)对站点级设置进行管理和个性化设置。授权用户可以配置站点级设置、确定谁可以访问站点或页、设置对控件的基于角色的访问等。例如,管理员角色中的用户可以将Web部件控件设置为由所有用户共享,并禁止非管理员用户对共享控件进行个性化设置。