ASP.NET Lab

The Best Web, The Best Future

博客园 首页 新随笔 订阅 管理

ASP.NET Web 部件是用于创建网站的集成式控件集,可以创建允许终端用户从浏览器中直接更改内容、外观、以及行为的页面。所作的更改可以被应用到网站中的所有用户或者单独的用户。当用户更改了页面和控件,设定值可以被保存成跨浏览器会话的可靠的用户个人参考,这个特征被称之为个性化。这些 Web 部件的能力意谓着开发者可以给予终端用户对 Web 应用程序动态地完成个性化的能力,而不需要开发者或管理员的参与。

通过使用 Web 部件控件集,作为开发者的你可以允许终端用户完成如下任务:

  • 个性化页面的内容。用户可以在页面中添加新的 Web 部件控件,也可以删除、隐藏、或者像普通窗口一样最小化。

  • 个性化页面的布局。用户可以把 Web 部件控件拖动到页面的不同区域,或者更改它们的外观、属性集、以及行为。

  • 导出并导入控件。用户可以导入或导出 Web 部件控件的设定并在其他页面或网站中使用、保持属性集、外观、甚至是控件中的数据。这大大减少了终端用户的数据实体和配置需求。

  • 创建连接。用户可以在控件之间建立连接,例如,一个图表控件可能会为某个股票统计器的数据显示一个图表。用户不仅可以个性化连接本身,还可以个性化显示数据的图表控件的外观和细节。

  • 管理并个性化网站级别的设定。授权用户可以配置网站级别的设定,以确定谁才可以对网站或者网页进行访问、为控件设置基于角色的访问、等等。例如,一个隶属于管理角色的用户可以把 Web 部件控件共享给所有用户,并防止非管理员用户对共享控件进行个性化。

Web 部件的实质

Web 部件的控件集由三个主要构造块组成:个性化、用户接口(UI)结构组件、以及实际的 Web 部件 UI 控件集。更多详细内容,请参考“Web 部件控件概览”。你的多数开发成果将会集中在 Web 部件控件上,这些控件是可以使用 Web 部件控件集的所有特征的简单的 ASP.NET 控件。

为了解 Web 部件控件如何才能够被用于建立个性化页面,请分析如下屏幕快照。

典型的 Web 部件页面

ASP.NET Web 部件组件

该页面包含了一个 Web 部件应用程序中的若干基本元素:

  • 使用页面布局中的区域。这里有两个专栏可以包含控件:一个专栏中拥有天气控件和股票报价控件,而另一个专栏中拥有 Hotmail 控件和新闻控件。页面中包含 Web 部件控件的这些专栏在 Web 部件的术语中被称为“区域层”。现有的区域用于在页面中展示 Web 部件的控件集,并且为这些控件提供公共的 UI。一个页面中可以存在一个或多个区域,每一个区域都可以包含一个或多个 Web 部件的控件集,并且每一个区域还可以拥有垂直或水平方向的页面布局。

  • 区域中的 Web 部件控件。每一个控件都拥有能够在控件中以链接、按钮、或可点击图片的方式来显示 UI 动作(用户可以完成的动作)。在如上图例的屏幕快照中,注意到每一个控件的标题条中都拥有一个能够暴露出下拉菜单的按钮。在每一个控件的下拉菜单中都有更改控件特定细节的选项,以及完成公共动作(如移动或删除控件)的其他的选项,还能够获得帮助。还有一些控件(如天气控件)能够允许用户进行个性化,从而仅显示与用户有关的信息。

  • 用于个性化扩展的链接。这些内容允许用户更改页面的内容、颜色、以及布局。例如,如果用户单击“添加专栏”链接,Web 部件应用程序就可以允许他们在页面中添加其他的专栏。或者用户可以单击“添加内容”链接,从而显示一个控件的目录来让他们对需要添加到页面中的内容进行选择,被选中的内容有可能就是一个股票图表控件。用户可以在页面的某个区域中添加控件,然后将其连接到现有的股票报价控件并以图表的方式来显示其中的股票数据。

使用 Web 部件的开发者任务

你将要通过三个方式中的一种来使用 Web 部件完成具有代表性的任务:创建使用 Web 部件控件的页面、创建单独的 Web 部件控件、或者创建完整的可个性化 Web 应用程序(如某个入口)。

开发页面

页面开发者可以使用可视化设计工具(如 Microsoft Visual Studio 2005)来创建使用 Web 部件的页面。使用 Visual Studio 之类的工具时有一个优势就是 Web 部件的控件集会在可视化设计器中为 Web 部件控件的创建和配置提供可拖放特征。例如,你可以使用设计器来拖动 Web 部件区域或者是 Web 部件的编辑器控件,然后在设计器的右侧使用由 Web 部件的控件集提供的 UI 来配置设计界面上的控件。这样能够加快 Web 部件应用程序的开发速度并减少手写代码的数量。

开发控件

你可以把任何一个现有的 ASP.NET 控件当成 Web 部件的控件来使用,包括标准的 Web 服务器控件、自定义服务器控件、以及用户控件。为了尽可能多地获取开发环境中的可编程控件的数量,你也可以创建继承自 WebPart 类的自定义 Web 部件控件。至于单独的 Web 部件控件开发,你既可以创建一个典型的用户控件并把它当成 Web 部件的控件来使用,也可以开发一个自定义的 Web 部件控件。

作为开发自定义的 Web 部件控件的实例,你可以把其他 ASP.NET 服务器控件所提供的有用特征封装成个性化的自定义 Web 部件控件:如日历、列表、金融信息、新闻、计算器、用于更新内容的丰富文本控件、可以连接到数据库的可编辑网络、动态更新内容的图表、或者天气和旅行信息等等。如果你为你的控件提供了一个可视化的设计器,那么任何一个使用 Visual Studio 的页面开发者都能够轻松的把你的控件拖动到 Web 部件区域的任何位置并在设计时对它进行配置,从而不需要编写额外的代码。

开发 Web 应用程序

Web 部件的最广泛的使用就是开发一个完整的集成式和可个性化的 Web 应用程序(如某个入口)。你可以开发一个能够允许广大用户对 UI 和内容进行个性化的网站,网站的特征与 MSN 类似。或者你甚至可以开发一个能够被企业或收费 ISP 装载并使用的被封装的应用程序,以用于提供入口托管服务。

在 Web 应用程序的开发任务中,你可以为终端用户对应用程序的管理和个性化提供一个完整的解决方案。这其中可以包括一个能够为网站提供未来特征支持的 Web 部件的控件集、一个统一的主题集和样式集,以允许终端用户通过一致的方法对 UI 进行个性化、能够显示在页面中并且进行选择的一个 Web 部件控件集的目录、验证服务、以及基于角色的管理(例如,允许管理员用户为所有用户个性化 Web 部件的控件集和网站的设定)等等。

至于你的应用程序中的每一个组成部分,你都可以根据需要对 Web 部件的控件集进行扩展,从而提供环境之外的更好的控件。例如,除了为页面的主要 UI 编写自定义的 Web 部件控件集之外,你也可能需要为你的应用程序开发一个拥有一致外观和体验的自定义 Web 部件目录,并给予用户在对被添加到页面的控件进行选择时的更多的灵活性。或者你可以扩展一个区域控件来为所包含的 Web 部件控件提供额外的 UI 选项。你也可以编写自定义的个性化提供者来提供超出个性化数据的存储和管理方式的更多的灵活性和控制。

posted on 2006-12-30 17:28  Laeb  阅读(562)  评论(0编辑  收藏  举报