互联网和内联网自从20世纪90年代出现以来,都有非常大的变化。今天的应用程序不仅给每个访问者显示信息,还可以完成许多其他任务。由于显示给终端用户的信息非常丰富,互联网和内联网应用程序必须在它们的产品中集成大量的定制内容和个性化信息。
提供许多内容的Web站点给终端用户提供了一些选项,让他们选择要查看的站点部分和要隐藏的部分。理想情况下,终端用户可以对页面进行个性化处理,确定内容显示在页面上的顺序。他们还可以在页面上移动数据项,就好像页面是一个设计界面一样。
在这种情况下,定制建立好页面后,终端用户需要把他们的设置存储起来。我们肯定不希望终端用户高度定制一个页面或入口网站(Partal)中的一系列页面,这样该用户每次访问站点时,都必须重新应用他的设置。我们希望保留这些设置,把它们放在一个数据库中,以便以后使用。
添加这个功能是很昂贵的,“昂贵”是指这需要开发人员做大量的工作。在ASP.NET 2.0推出以前,开发人员必须建立一个个性化架构,供需要这个功能的每个页面使用。这些工作很容易出错,也很难完成,这就是在大多数情况下不这么做的原因。
19.1 Web Part简介
为了便于保留终端用户应用于页面的定制设置,Microsoft在ASP.NET的这个版本中引入了Web Part。Web Part是Portal Framework的一部分,提供了建立模块化Web站点的一种方式,可以通过动态应用的设置为每个用户定制Web站点。Web Part是Portal Framework中的对象,终端用户可以打开、关闭、最小化、最大化Web Part,或从页面的一个部分移动到另一个部分。
使用Portal Framework可以建立包含多个Web Part的页面,Web Part是ASP.NET服务器控件架构的一部分,其用法与其他ASP.NET服务器控件一样。也就是说,如果需要,可以扩展Web Part。
无论站点是传统的互联网站点、内联网站点,基于浏览器的应用程序,还是其他常见的入口网站,Portal Framework的组件都可以建立真正动态的Web站点。
在第一次看到ASP.NET 2.0中的Web Part时,可能会想起Microsoft的SharePoint。但要注意,这两种技术并不相同。ASP.NET小组引入Web Part,除了ASP.NET中的Web Part之外,所得到的Portal Framework还由Windows SharePoint Services (WSS)使用。而Microsoft只创建了一个由其他Microsoft产品使用的技术。在这个过程中,Microsoft试图到达计算技术的顶峰—— 代码重用。
使用新Portal Framework建立的模块化、可定制的站点,允许把视图中的Web页面放在几个模式中,显示给终端用户。下面列出了这些模式,并说明了它们对查看页面的终端用户有什么意义。
● 正常模式:把页面放在正常状态下,表示终端用户不能编辑或移动页面中的块。这是显示标准页面所使用的模式。
● 编辑模式:允许终端用户选择页面上的特定部分进行编辑。选中的部分支持所有的编辑功能,包括修改该部分的标题、颜色,甚至设置定制属性,例如允许终端用户指定邮政编码,以获得定制的天气报告。
● 设计模式:允许终端用户重新安排页面中模块化组件的顺序。终端用户可以在一个区域中把数据项放在更高或更低的位置,从区域中删除数据项,或把数据项从一个页面区域移动到另一个区域。
● 目录模式:显示可放在页面中的各个部分(Web Part)的列表。目录模式还允许终端用户选择在页面的哪些区域中显示数据项。
图19-1是利用Portal Framework,在编辑模式下的入口网站示例。

图 19-1
Portal Framework是一个功能全面、容易理解的架构,它可以集成ASP.NET应用程序中包含的所有内容。可以像处理标准的ASP.NET页面那样,使用Windows验证或Forms验证来应用安全性能。这个架构还可以应用ASP.NET 2.0中的其他新内容,例如给所建立的入口网站应用角色管理、个性化和成员特性。
为了理解如何在新的Portal Framework上建立应用程序,首先建立一个简单的页面,使用这个新的架构功能。







