收藏 分享(赏)

百超百劲数控激光切割WebPart编程理论篇及实践篇.doc

上传人:dreamzhangning 文档编号:2972199 上传时间:2018-10-01 格式:DOC 页数:21 大小:437KB
下载 相关 举报
百超百劲数控激光切割WebPart编程理论篇及实践篇.doc_第1页
第1页 / 共21页
百超百劲数控激光切割WebPart编程理论篇及实践篇.doc_第2页
第2页 / 共21页
百超百劲数控激光切割WebPart编程理论篇及实践篇.doc_第3页
第3页 / 共21页
百超百劲数控激光切割WebPart编程理论篇及实践篇.doc_第4页
第4页 / 共21页
百超百劲数控激光切割WebPart编程理论篇及实践篇.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、ASP.NET 2.0 Web Part编程入门(理论篇)2007-01-16 18:13 作者: 朱先忠 出处:51CTO.com ( ) 砖 ( ) 好 评论 ( ) 条 进入论坛 关 键 词:.NET ASP Web Part 入门 理论阅读提示:在本系列文章(“理论篇”与“实践篇”)中,我将向大家全面展示 ASP.NET 2.0 Web Part的相关概念及基本编程技术。在本篇中,我们概括介绍了构成 WebParts控件集的基本概念,基本组件及其相互关系。在下篇中,我们将详细探讨一个基于 WebParts控件集搭建终端用户可灵活定制的页面的具体案例。 【51CTO.com 独家特稿】一

2、、引言Web Part是ASP.NET 2.0 中一个非常令人激动的特性。它为创建动态的网页接口提供了一系列的可用控件,使得用户很容易地进行配置或者个性化页面。并且,用户可以象在桌面应用中一样自由地显示、隐藏或者移动 Web Part组件。在本系列文章(“理论篇”与“实践篇”)中,我将向大家全面展示 ASP.NET 2.0 Web Part的相关概念及基本编程技术。二、Portal 框架简介Portal框架是 Web 2.0时代微软进一步扩展其“代码重用”计划的重要架构,旨在基于新一代 ASP.NET 2.0平台快速搭建动态的高度模块化的 Web站点。其中,Web Part 作为这个框架的一个

3、重要组成部分,能够实现动态地根据应用程序的设置为每个终端用户定制Web站点。借助于 Web Part,用户能够打开、关闭、最小/大化 Web Part,或从页面的一个部分移动到另一个部分。ASP.NET Web Part是一组集成控件,用于创建使最终用户可以直接从浏览器修改网页的内容、外观和行为的网站。这些修改可以应用于网站上的所有用户或个别用户。当用户修改页面和控件时,可以保存这些设置以便跨以后的各浏览器会话保留用户的个人首选项,这种功能称为“个性化设置”。这些 Web Part功能意味着开发人员可以使最终用户动态地对Web应用程序进行个性化设置,而无需开发人员或管理员的干预。下图 1列举出

4、 Visual Studio 2005所提供的与 WebPart开发相关的控件集。图 1.Visual Studio 2005中所提供的 WebParts控件集通过使用 Web Part 控件集,开发人员可以使最终用户执行下列操作:对页面内容进行个性化设置。用户可以象操作普通窗口一样在页面上添加新Web Part 控件,或者移除、隐藏或最小化这些控件。对页面布局进行个性化设置。用户可以将Web Part 控件拖到页面的不同区域,也可以更改控件的外观、属性和行为。导出和导入控件。用户可以导入或导出 Web Part 控件设置以用于其他页面或站点,从而保留这些控件的属性、外观甚至是其中的数据。这样

5、可减少对最终用户的数据输入和配置要求。创建链接。用户可以在各控件之间建立链接;例如,图表控件可以为证券报价机控件中的数据显示图形。用户不仅可以对链接本身进行个性化设置,而且可以对图表控件如何显示数据的外观和细节进行个性化设置。对站点级设置进行管理和个性化设置。授权用户可以配置站点级设置、确定谁可以访问站点或页面、设置对控件的基于角色的访问等。例如,管理员角色中的用户可以将 Web Part控件设置为由所有用户共享,并禁止非管理员用户对共享控件进行个性化设置。三、Web Part 基本要素Web Part控件集由三个主要构造块组成:个性化设置、用户界面(UI)结构组件和实际的Web Part U

6、I 控件。有关详细信息,请参考后面的“Web Part控件集概述”一节。实际上,大量的开发工作都是以Web Part 控件为重点,这些控件只是可使用 Web Part 控件集功能的ASP.NET 控件。下面图 2 的屏幕快照展示了使用 Web Part 控件生成可个性化设置的网页的例子。图 2.实际应用中的典型的 Web Part页该页面包含Web Part 应用程序的若干基本元素:区域在页面布局中的用法。有两列可以包含控件:一列包含天气预报和股票控件,另一列包含Hotmail 和新闻控件。这两列在 Web Part 术语中称为区域,即页面上包含 Web Part控件的区域。区域的存在是为了对

7、页面上的 Web Part 控件进行布局,并为控件提供公共 UI。页面上可以 有一个或多 个区域,每个区域都可以包含一 个或多个 Web Part 控件,并且每个区域都可以具有垂直或水平方向的页面布局。区域中的 Web Part控件。每个控件都有可显示为控件上的链接、按钮或可单击图像的UI 谓词(用户可执行的操作)。在上面的屏 幕快照中,请注意每个控件在其标题栏中都有一个显示下拉菜单的按钮。在每个控件的菜单中都包含一些用于更改该控件特定细节的选项,以及另一些用于执行移动或删除控件及获取帮助等常见操作的选项。有些控件(如天气预报控件)允许用户对其进行个性化设置,以便只显示与用户相关的信息。指向启

8、用大量个性化设置的链接。这些链接使用户可以更改页的内容、颜色和布局。例如,如果用户单击“添加列”链接,则 Web Part应用程序可以允许用户向页添加其他列。或者,用户可以单击“添加内容”链接,这将显示一个控件目录,用户可以有选择性地将其中的控件添加到页上。这些控件中可能包含股票图表控件。用户可以将该控件添加到页上的某一区域,然后可以将该控件连接到现有的股票控件,以便为它包含的股票数据绘制图表。四、实际开发中使用 Web Part 控件的方式实际中,我们可以通过下列三种方法之一来使用 Web Part:创建使用 Web Part控件的网页;创建单个 Web Part 控件;创建完整的、可个性化

9、设置的 Web应用程序(如门户网站)。页面开发Web页面开发人员可以使用可视化设计工具(如 Visual Studio 2005)创建使用 Web Part的页。使用 Visual Studio 之类工具的一个好处就是:在可视化设计器中,Web Part控件集可提供拖放式创建及配置 Web Part 控件的功能。例如,可以使用该 设计器将一个Web Part区域或一个 Web Part 编辑器控件拖到设计图面上,然后使用 Web Part 控件集所提供的用户界面将该控件配置在设计器中的正确位置。这可以加快Web Part 应用程序的开发速度并减少必须编写的代码量。控件开发可以将现有的任意 AS

10、P.NET 控件用作 Web Part 控件,包括标准的 Web服务器控件、自定义服务器控件和用户控件。若要通过编程最大限度地控制环境,还可以创建从 WebPart 类派生的自定义Web Part 控件。在开发单个Web Part 控件时,通常会创建一个用户控件并将其用作 Web Part控件,或者开发一个自定义 Web Part 控件。作为一个开发自定义 Web Part 控件的示例,可以创建一个控件以提供其它 ASP.NET 服务器控件所提供的任何功能,这可能对打包为可个性化设置的 Web Part 控件十分有用,这样的控件包括:日历、列表、财务信息、新闻、计算器、用于更新内容的多格式文本

11、控件、连接到数据库的可编辑网格、动态更新显示的图表或天气和旅行信息。如果对控件提供了可视化设计器,则使用 Visual Studio 的任何页面开发人员只需将控件拖至 Web Part区域并在设计时刻对该控件进行配置,而无需另外编写代码。Web 应用程序开发开发完全集成和可个性化设置的 Web 应用程序(如门户网站)涉及最全面地使用 Web Part。可以开发一个允许用户对用户界面和内容进行大量个性化性设置的网站,其功能类似于 MSN。或者,甚至可以开发一个可由提供门户加载服务的公司或收费 ISP 提供和使用的打包应用程序。在 Web 应用程序方案中,可以为最终用户提供一个完整的解 决方案来管

12、理和个性化设置应用程序。这可能包括:一组提供站点所需功能的 Web Part控件、一组使最终用户可以一致地对用户界面进行个性化设置的一致主题和样式、Web Part 控件目录(用户可以从中选择要显示在页上的控件)、身份验证服务以及基于角色的管理(例如,允许管理员用户为所有用户对 Web Part 控件和站点设置进行个性化设置)。对于应用程序的各部分,可以根据需要扩展 Web Part 控 件以对环境提供更好的控制。例如,除了为页面的主要用户界面创作自定义 Web Part 控 件之外,还可能需要开发一个与应用程序的外观一致的自定义 Web Part 目录,并使用户可 以更灵活地选择向页面添加控

13、件的方式。也可以扩展区域控件,以便为它包含的 Web Part控件提供其它用户界面选项。此外,还可以编写自定义个性化设置提供程序,以对存储和管理个性化设置数据的方式提供更大的灵活性和更多的控制。五、Web Part 控件集概述ASP.NET Web Part控件集是一组协同工作的组件,使您可以创建最终用户可以直接从浏览器修改其用户界面的外观和行为的网页。本节仅讨论Web Part 控件集的基本方面,包括对最常用的控件及创建 Web Part 页所需的基本Web Part 组 件的描述。(一)Web Part 组件的类别Web Part控件集由三个基本构造块组成:个性化设置功能;在页面上使用 W

14、eb Part用户界面控件所需的用户界面结构组件;Web Part 用户界面控件本身。下图 3 阐释了Web Part控件集内的这三部分之间的关系。图 3.组成 Web Part 控件集的三个基本构造块及其相互关 系首先,个性化设置是 Web Part 功能的基础。它使用户可以对页面上Web Part 控件的布局、外观和行为进行修改或个性化设置。个性化设置的生命周期较长:它们不仅在当前浏览器会话期间保留(与视图状态一样),而且还保留在长期存储中,这样用户设置也会保存下来,在以后的浏览器会话中使用。默认情况下,会为 Web Part 页启用个性化设置。其次,用户界面结构组件依赖于个性化设置,并提

15、供所有Web Part 控件需要的核心结构和服务。其中,WebPartManager 控件是所有 Web Part 页面必需的一个用户界面结构组件。尽管该控件从不可见,但它执行着协调页面上所有 Web Part 控件的重要任务。例如,它跟踪各个Web Part 控件,管理 Web Part 区域(页面上包含Web Part 控件的区域),并管理哪些控件位于哪些区域;它还跟踪并控制页面可使用的不同显示模式(如浏览器、连接、编辑或目录模式)以及个性化设置更改是应用于所有用户还是个别用户。最后,它也负责启动 Web Part 控件之间的连接和通信并进行跟踪。【注意】一个 WebPartManager

16、 控件不能管理整个应用程序,它只能管理一个页面。也可以把 WebPartManager 服务器控件放在Master 页面(如果有的话 )上,从而避免在每个内容页面上放置一个 WebPartManager控件。第二种用户界面结构组件是 WebPartZone 控件,它定义了一 个项区域,区域充当 Web Part页上的布局管理器。区域包含并组织从 Part 类派生的控件(Part 控件),并使用户能在水平或垂直方向进行模块化页面布局。此外,区域还为所包含的每个控件提供常见的和一致的用户界面元素(如页眉和页脚样式、标题、边框样式、操作按钮等)。有几种专用于不同显示模式的区域类型,并且这些类型使用不

17、同的控件。在下面的 Web Part 基本控件节中描述了不同类型的区域。【注意】在一个 WebPart控件区域中可以放置几乎所有内容。例如,可以放置如下内容:HTML 元素原始文本HTML 服务器控件Web 服务器控件用户控件定制控件Web Part 用户界面控件都派生自 Part 类,这些控件构成了 Web Part 页上的主要用户界面。Web Part 控件集为我们创建 Part 控件提供了灵活多样的选择。(二)ZoneTemplate 元素为了在模板化 WebPartZone 控件中包含数据项,必须包含元素。其实,在下篇的试验中,读者会注意到,当你把任何工具箱中控件拖动到 WebPart

18、Zone控件中时,系统会自动添加一个 ZoneTemplate 元素。ZoneTemplate 元素封装了一个区 域中的所有项。它们显示在ZoneTemplate 部分中的顺序就是 它们在浏览器中显示的顺序,除非终端用户修改了它们,或通过编程方式修改该顺序。下面的代码片断展示了使用的一个简单的例子:这个区域只包含一项一个动态图像。【提示】为了给显示在区域中的Web Part 指定更有意义的名称,可以给控件添加 Title 属性。这是否是微软的一个小纰漏?下一节描述了创建 Web Part 页面时最常用的基本控件。(三)Web Part 基本控件Web Part 控件集包含大量控件,但其中一些控

19、件是基本控件,因为它们是Web Part 正常工作所必需的控件,或者是在 Web Part 页上最常用的控件。在开始使用Web Part 并创建基本的Web Part 页时,熟悉下表中描述的基本Web Part 控件将对您很有帮助。WEB PART基本控件 说明WebPartManager 管理页面上的所有 Web Part控件。每个Web Part页都需要一个(且只需要一个)WebPartManager控件。CatalogZone 包含 CatalogPart控件。使用此区域创建Web Part控件目录,用户可以从该目录中选择要添加到页面上的控件。EditorZone 包含 EditorPa

20、rt控件。使用此区域使用户可以对页面上的Web Part 控件进行编辑和个性化设置。WebPartZone 包含并提供WebPart 控件(构成页面的主要用户界面)的整体布局。只要您创建具有 Web Part控件的页面,就会使用此区域。页面中可以包含一个或多个区域。ConnectionsZone 包含 WebPartConnection控件,并提供用于管理连接的用户界面。WebPart(GenericWebPart)呈现主要用户界面;大多数 Web Part用户界面控件属于此类别。若要最大限度地实现编程控制,可以创建从WebPart 基控件派生自己的自定义 Web Part控件。此外,还可以将

21、现有服务器控件、用户控件或自定义控件用作 Web Part控件。只要在区域中放置了上述任意控件,在运行时WebPartManager控件就会自动用GenericWebPart控件包装这些控件,以便您可以通过 Web Part功能使用这些控件。CatalogPart 包含用户可添加到页面上的可用 Web Part控件的列表。WebPartConnection 在页面上两个 Web Part控件之间创建连接。该连接将其中一个 Web Part控件定义为数据的提供者,而将另一个定义为使用者。EditorPart 用作专用编辑器控件的基类。EditorPart控件(AppearanceEditorPa

22、rt、LayoutEditorPart、BehaviorEditorPart和PropertyGridEditorPart)六、小结在本篇中,我们概括介绍了构成 WebParts控件集的基本概念,基本组件及其相互关系。在下篇中,我们将详细探讨一个基于 WebParts控件集搭建终端用户可灵活定制的页面的具体案例。ASP.NET 2.0 Web Part编程入门(实践篇)2007-01-17 09:03 作者: 朱先忠 出处:51CTO.com ( ) 砖 ( ) 好 评论 ( ) 条 进入论坛 关 键 词:.NET ASP Web Part 入门 实践阅读提示:在前面的【理论篇】中,我们分析了

23、ASP.NET 2.0 Web Part 的相关概念及基本编程技术。在本篇中,我们将构建一个利用 Web Part进行网页开发的工程。本文仅提供了在 ASP.NET网页上使用 Web Part控件的基本示例。 【51CTO.com 独家特稿】一、简介在许多 Web应用程序中,能够更改内容的外观以及允许用户选择和排列要显示的内容是非常有用的。ASP.NET Web Part 功能由一组用于创建网页的控件组成,这些控件能显示模块化内容并允许用户更改外观和内容。在本示例中,我将创建一个使用 Web Part控件集的页面,用于创建用户可以修改或进行个性化设置的网页。本示例具体实现如下任务:向页添加 W

24、eb Part控件。创建一个自定义用户控件,并将其用作Web Part 控件。允许用户对页面上的 Web Part控件的布局进行个性化设置。允许用户编辑 Web Part控件的外观。允许用户从可用 Web Part控件的目录中进行选择。(一)先决条件若要完成本示例,您需要:可标识各个用户的站点。如果您有一个已配置了ASP.NET 成员资格的站点,则可以使用该站点作为本示例的起点。配置过的个性化设置提供程序和数据库。Web Part 个性化设置默认情况下是启用的,它使用 SQL个性化设置提供程序(SqlPersonalizationProvider)以及 Microsoft SQL Server

25、 Exprss Edition(SSE)存储个性化设置数据。此示例使用SSE 和默认的 SQL提供程序。如果安装了SSE,则不需要进行任何配置。SSE 在安装 Microsoft Visual Studio 2005时作为可选部分免费提供,也可以从 M免费下载。若要使用 SQL Server的某个完整版本,必须安装和配置 ASP.NET应用程序服务数据库,并配置 SQL个性化设置提供程序以连接到该数据库。当然,你也可以创建和配置自定义提供程序,以便使用其他非 SQL数据库或存储解决方案。【注】本文程序调试环境为 Windows XP ProfessionalVS2005。二、案例分析现在,我们

26、开始创建一个使用Web Part 控件显示静态内容的页面。使用 Web Part的第一步是创建具有两个必需的结构元素的页面。首先,Web Part 页需要一个 WebPartManager控件来跟踪和协调所有 Web Part控件;其次,Web Part 页需要一个或多个区域(区域即“Zone”,是包含 WebPart或其他服务器控件并且占据页面上指定区域的复合控件)。【注意】您无需执行任何操作即可启用 Web Part个性化设置;Web Part 控件集默认情况下即启用该设置。在站点上第一次运行 Web Part页时,ASP.NET 会设置默认的个性化设置提供程序来存储用户个性化设置。(一)

27、创建包含 Web Part控件的页面1.启动 VS2005,创建一个 ASP.NET网站WebPartsDemo,并将默认页面 Default.aspx重命名为 WebPartsDemo.aspx。2.切换到“设计”视图。3.确保在“视图”菜单中选中“非可视控件”和“详细信息”选项,以便查看不具有用户界面的布局标记和控件。4.在设计图面上将插入点放在标记前,然后按 Enter添加一个新行。将插入点放在新行字符前,单击菜单上的“块格式”下拉列表控件,再选择选项“标题 1”。在该标题中添加文本“Web Part 应用演示”。5.从工具箱的“WebParts”选项卡中,将一个 WebPartMana

28、ger控件拖动到页上,并将它放置在新行字符之后,标记之前。 【注】WebPartManager 控件不呈现任何输出,因此在设计器图面上显示为灰框。6.将插入点放置在标记内。7.在“布局”菜单中单击“插入表”,然后创建一个包含一行三列的表。单击“单元格属性”按钮,从“垂直对齐”下拉列表中选择“顶端对齐”,单击“确定”创建表格。8.将一个 WebPartZone控件拖动到该表左边的列中,并设置下面相应的属性:IDSidebarZone;HeaderText“侧栏”;9.再次将一个WebPartZone 控件拖动到该表中间的列中,并设置下面的属性:IDMainZone;HeaderText“主要”;

29、10.保存文件。 现在,页面中具有两个能够单独控制的不同区域。但是,这两个区域中都没有任何内容,因此下一步就是创建内容。此示例中使用的是仅显示静态内容的 Web Part控件。Web Part区域的布局由元素指定。在区域模板内可以添加任何 ASP.NET控件,无论是自定义 Web Part控件、用户控件还是现有服务器控件。注意,本例中使用的是 Label控件,其中仅添加了静态内容。如果在 WebPartZone区域中放置常规服务器控件,则在运行时,ASP.NET将该控件视为 Web Part控件,并在控件上启用 Web Part功能。(二)为主要区域创建内容1.从工具箱的“标准”选项卡中将一个

30、 Label控件拖动到 ID属性设置为 MainZone的区域的内容区域中。2.切换到“源”视图。注意,系统自动添加了一个元素来包装 MainZone中的 Label控件。3.为元素添加一个名为 title的属性,并将属性值设置为“Content”,并从元素中移除Text=“Label“属性。然后,在元素的开始标记和结束标记之间添加一些文本,例如在一对元素标记之间添加文本“欢迎访问本主页”。代码如下所示。 欢迎访问本主页 4.保存文件。接下来,创建一个也可以作为 Web Part控件添加到页面中的用户控件。(三)创建用户控件本例中,我将一个新的 Web用户控件添加到站点中,充当搜索控件。将该控

31、件放在WebPartsDemo.aspx页所在的目录中,并将其命名为 SearchUserControl.ascx。【注意】此示例的用户控件并不实现实际的搜索功能;它仅用于演示 Web部件功能。1.切换到“设计”视图。从工具箱的“标准”选项卡中,将 TextBox控件拖动到页面上。2.将插入点放在刚添加的文本框之后,再按 Enter添加一个新行。3.将 Button控件拖动到页面上刚添加的文本框下面的新行上。4.切换到“源”视图,并确保用户控件的源代码如下所示:5.保存并关闭文件。接下来,我们将向侧栏区域添加Web Part 控件将向侧栏区域添加两个控件:一个包含链接列表,另一个则是在前面创建

32、的用户控件。链接是作为标准 Label服务器控件添加的,添加方法类似于为主要区域创建静态文本。虽然用户控件中包含的各个服务器控件都可直接包含在该区域中(类似标签控件),但在本示例中不是这样。相反,它们是在前面的过程中创建的用户控件的一部分。这演示了将所需控件和其他功能打包到用户控件中,然后在某个区域中将该控件作为 Web Part控件引用的常用方式。运行时,Web Part 控件集将这两个控件都包装在 GenericWebPart控件中。当GenericWebPart控件包装 Web服务器控件时,GenericWebPart 为父控件,您可以通过该父控件的ChildControl 属性访问服务

33、器控件。【注意】GenericWebPart 控件能够使标准 Web服务器控件具有与从 WebPart类派生的 Web Part控件相同的基本行为和属性。(四)向侧栏区域添加 Web Part控件1.打开 WebPartsDemo.aspx页。2.切换到“设计”视图。3.将已创建的用户控件页SearchUserControl.ascx 从“解决方案资源管理器”拖放到 ID属性设置为SidebarZone 的区域中。4.保存 WebPartsDemo.aspx页面。5.切换到“源”视图。6.在 SidebarZone的元素内,对用户控件的引用之上,添加一个包含了链接的元素;另外,将 Title属

34、性添加到用户控件标记,属性值为“搜索”,如下所示:ASP.NET网站GotDotNetC7.保存并关闭文件。(五)测试页面在浏览器中加载 WebPartsDemo.aspx页面,结果应该如下图 1所示。图 1.具有两个区域的 Web Part演示页该图中,每个控件的标题栏中都有一个向下的箭头,用于提供对控件上可执行操作的动作菜单的访问。单击其中一个控件的动作菜单,然后单击“最小化”,会发现该控件被最小化。在动作菜单上单击“还原”,控件还原为正常大小。(六)支持用户更改布局和编辑页面Web Part为用户提供了通过将 Web Part控件从一个区域拖动到另一个区域来更改其布局的功能。除了允许用户

35、将 WebPart控件从一个区域移动到另一个区域外,还允许用户编辑控件的各种特征包括外观、布局和行为。Web Part 控件集为 WebPart控件提供了基本的编辑功能。【注】本示例中,我们仅实现了基本的编辑功能,但您可以创建自定义编译控件来允许用户编辑WebPart 控件的功能。和更改 WebPart控件的位置一样,编辑控件属性时需要由ASP.NET个性化设置来保存用户所做的更改。下面,我们将为用户添加相应的功能,使之能编辑页面上所有WebPart 控件的基本特性。若要启用这些功能,应向页面中添加其它自定义控件以及一个元素和两个编辑控件。1创建支持对页面布局进行更改的用户控件(1)在 Vis

36、ual Studio中,选择“文件新建”菜单,然后单击“文件”选项。(2)在“添加新项”对话框中,选择“Web 用户控件”。将新文件命名为DisplayModeMenu.ascx,并取消选项“将源代码放在单独的文件中”。(3)单击“添加”新建控件。(4)切换到“源”视图。(5)按如下内容修改源码(此用户控件允许用户更改其视图和显示模式的Web Part 控件集功能,并允许您在某种显示模式下更改页面的物理外观和布局):/定义一个引 用当前 WebPartManager控件的变量WebPartManager _manager;void Page_Init(object sender, EventA

37、rgs e)Page.InitComplete += new EventHandler(InitComplete); void InitComplete(object sender, System.EventArgs e)_manager = WebPartManager.GetCurrentWebPartManager(Page);String browseModeName = WebPartManager.BrowseDisplayMode.Name;/使用支持的显示方式填充下拉列表框foreach (WebPartDisplayMode mode in _manager.Supporte

38、dDisplayModes)String modeName = mode.Name;/在添加之前,确保支持这种方式if (mode.IsEnabled(_manager)ListItem item = new ListItem(modeName, modeName);DisplayModeDropdown.Items.Add(item);/如果共享范围适用于该用户,则显示/范围切换 UI并且选择相应于当前用户范围的适当的单选按钮if (_manager.Personalization.CanEnterSharedScope)Panel2.Visible = true;if (_manager.

39、Personalization.Scope = PersonalizationScope.User) RadioButton1.Checked = true;elseRadioButton2.Checked = true;/把页面改变为选择的显示方式void DisplayModeDropdown_SelectedIndexChanged(object sender, EventArgs e)String selectedMode = DisplayModeDropdown.SelectedValue;WebPartDisplayMode mode = _manager.SupportedDi

40、splayModesselectedMode;if (mode != null)_manager.DisplayMode = mode;/把选项设置为当前的显示方式void Page_PreRender(object sender, EventArgs e)ListItemCollection items = DisplayModeDropdown.Items;int selectedIndex = items.IndexOf(items.FindByText(_manager.DisplayMode.Name);DisplayModeDropdown.SelectedIndex = sele

41、ctedIndex;/复位页面中的所有用户个性化数据protected void LinkButton1_Click(object sender, EventArgs e)_manager.Personalization.ResetPersonalizationState();/如果还不是在用户个性化范围内,则切换到其中protected void RadioButton1_CheckedChanged(object sender, EventArgs e)if (_manager.Personalization.Scope = PersonalizationScope.Shared)_man

42、ager.Personalization.ToggleScope();/如果还不是在共享范围内,并且用户已拥有权限,则切换范围protected void RadioButton2_CheckedChanged(object sender, EventArgs e)if (_manager.Personalization.CanEnterSharedScope (6)保存文件。2.允许用户更改布局(1)打开 WebPartsDemo.aspx页,并切换到“设计”视图。(2)在“设计”视图中将插入点放在以前添加的 WebPartManager控件之后。在文本后添加一个硬回车,这样会在 WebPa

43、rtManager控件之后生成一个空行。将插入点放置在空行上。(3)将刚创建的用户控件(文件名为 DisplayModeMenu.ascx)拖动到 WebPartsDemo.aspx页上,并放置在空行上。(4)将一个 EditorZone控件从工具箱的“WebParts”部分拖动到WebPartsDemo.aspx 页面上表格最右边的一个单元格中。(5)从工具箱的“WebParts”部分将一个AppearanceEditorPart控件和一个LayoutEditorPart控件拖动到 EditorZone控件上。(6)切换到“源”视图。于是,上面单元格中相应的代码类似如下。4 【注意】本示例中

44、仅使用了 AppearanceEditorPart和 LayoutEditorPart控件,而没有使用BehaviorEditorPart 和 PropertyGridEditorPart控件。(7)保存 WebPartsDemo.aspx文件。至此,我们已经创建了允许更改显示模式和更改页面布局的用户控件,并且在主页面上引用了该控件。下面,我们开始测试编辑页面和更改布局的功能。3.测试布局更改(1)在浏览器中加载页面。(2)单击“显示模式”下拉菜单,再选择“Edit”;随即显示区域标题。(3)通过“链接”控件的标题栏将该控件从侧栏区域拖动到主要区域的底部。最终,页面的外观应类似下面的图 2所示

45、。图 2.包含“链接”控件的 Web Part演示页(4)单击“显示模式”下拉菜单,再选择“Browse”。页面被刷新,区域的名称消失,“链接”控件的位置保持不变。(5)若要演示个性化设置的运行情况,请关闭浏览器,然后重新加载该页面。会保存所做的更改,以备以后的浏览器会话使用。(6)从“显示模式”菜单中选择“Edit”。(7)页面上的每个控件的标题栏中现在均显示有一个向下的箭头,其中包含一个谓词下拉菜单。(8)单击箭头显示“链接”控件上的谓词菜单。单击“Edit”谓词。(9)随即出现 EditorZone控件,并显示添加的 EditorPart控件。(10)在编辑控件的“外观”部分,将标题更改

46、为“我的收藏夹”,使用“镶边类型”下拉列表来选择“只有标题”,然后单击“应用”。下面的图 3显示了该页面处于编辑模式时的情形。图 3.编辑模式下的 Web Part演示页(11)单击“显示模式”菜单,再选择“Browse”以返回到浏览模式。(12)现在,该控件具有更新了的标题但没有边框,如下面的图4 所示。图 4.编辑过的 Web Part演示页(七)在运行时添加 Web Part还可以允许用户在运行时向页面中添加 Web Part控件。为此,应为 WebPartsDemo.aspx页面配置 Web Part目录由它给用户提供可添加的 Web Part控件列表。【注意】在本示例中,我们创建一个

47、包含 FileUpload和 Calendar控件的模板。在此,我们仅为了测试该目录的基本功能,但得到的 Web Part控件不会具有任何实际的功能。1.允许用户在运行时添加Web Part(1)打开 WebPartsDemo.aspx页面,并切换到“设计”视图。(2)从工具箱的“WebParts”选项卡中将一个 CatalogZone控件拖动到表格最右边的列中,并放在 EditorZone控件的下方。【注意】这两个控件可放在同一个表格单元格中,因为它们不会同时显示。(3)在“属性”窗格中,设置 CatalogZone控件的 HeaderText属性为“添加 Web Parts”。(4)从工具

48、箱的“WebParts”部分将一个DeclarativeCatalogPart 控件拖动到 CatalogZone控件的内容区域。(5)单击 DeclarativeCatalogPart控件右上角中的箭头,显示其“任务”菜单,然后选择“编辑模板”。(6)从工具箱的“标准”部分将一个FileUpload控件和一个Calendar 控件拖动到DeclarativeCatalogPart控件的“WebPartsTemplate”部分。(7)切换到“源”视图。观察元素的源代码。注意,DeclarativeCatalogPart 控件中包含了一个元素以及两个可从目录添加到页面中的服务器控件。【提示】显然

49、,在 DeclarativeCatalogPart控件的“WebPartsTemplate”部分中也可以加入你的自定义 Web控件或用户控件如果你愿意的话。(8)为添加到目录中的每个控件添加 Title属性。【问题】这是否又是微软的一个小纰漏?开始加入控件时,只显示 Caption属性,但是在目录区域中显示单选框时,则只能使用Title属性,因此这里只得手工添加,而且可以去掉原有的 Caption属性,见下面的代码。另外,虽然 Title并非在设计时通常可在这两个服务器控件上设置的属性,但当用户在运行时刻将这些控件从目录添加到WebPartZone 区域时,这些控件均包装在 GenericWebPart控件中。这使它们可以“充当”Web Part 控件,而且它们可以显示此标题。(9)保存页面。下面,我们可以测试此目录功能了。2.测试 Web Part目录(1)在浏览器中加载页面。(2)单击“显示模式”下拉菜单并选择“Catalog”,则会显示位于表格最右边的标题为“添加 Web Part”的目录区。(3)将“我的收藏夹”控件从主要区域拖回侧栏区域顶部。(4)在“添加 Web

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报