




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ASP.NET 2.0 Web Part编程入门(理论篇)2007-01-16 18:13作者: 朱先忠 出处:51CTO.com()砖()好评论() 条 进入论坛 关 键 词:.NETASPWeb Part入门理论阅读提示:在本系列文章(“理论篇”与“实践篇”)中,我将向大家全面展示ASP.NET 2.0 Web Part的相关概念及基本编程技术。在本篇中,我们概括介绍了构成WebParts控件集的基本概念,基本组件及其相互关系。在下篇中,我们将详细探讨一个基于WebParts控件集搭建终端用户可灵活定制的页面的具体案例。 【51CTO.com独家特稿】一、引言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作为这个框架的一个重要组成部分,能够实现动态地根据应用程序的设置为每个终端用户定制Web站点。借助于Web Part,用户能够打开、关闭、最小/大化Web Part,或从页面的一个部分移动到另一个部分。ASP.NET Web Part是一组集成控件,用于创建使最终用户可以直接从浏览器修改网页的内容、外观和行为的网站。这些修改可以应用于网站上的所有用户或个别用户。当用户修改页面和控件时,可以保存这些设置以便跨以后的各浏览器会话保留用户的个人首选项,这种功能称为“个性化设置”。这些Web Part功能意味着开发人员可以使最终用户动态地对Web应用程序进行个性化设置,而无需开发人员或管理员的干预。下图1列举出Visual Studio 2005所提供的与WebPart开发相关的控件集。图1.Visual Studio 2005中所提供的WebParts控件集通过使用Web Part控件集,开发人员可以使最终用户执行下列操作:对页面内容进行个性化设置。用户可以象操作普通窗口一样在页面上添加新Web Part控件,或者移除、隐藏或最小化这些控件。对页面布局进行个性化设置。用户可以将Web Part控件拖到页面的不同区域,也可以更改控件的外观、属性和行为。导出和导入控件。用户可以导入或导出Web Part控件设置以用于其他页面或站点,从而保留这些控件的属性、外观甚至是其中的数据。这样可减少对最终用户的数据输入和配置要求。创建链接。用户可以在各控件之间建立链接;例如,图表控件可以为证券报价机控件中的数据显示图形。用户不仅可以对链接本身进行个性化设置,而且可以对图表控件如何显示数据的外观和细节进行个性化设置。对站点级设置进行管理和个性化设置。授权用户可以配置站点级设置、确定谁可以访问站点或页面、设置对控件的基于角色的访问等。例如,管理员角色中的用户可以将Web Part控件设置为由所有用户共享,并禁止非管理员用户对共享控件进行个性化设置。三、Web Part基本要素Web Part控件集由三个主要构造块组成:个性化设置、用户界面(UI)结构组件和实际的Web Part UI控件。有关详细信息,请参考后面的“Web Part控件集概述”一节。实际上,大量的开发工作都是以Web Part控件为重点,这些控件只是可使用Web Part控件集功能的ASP.NET控件。下面图2的屏幕快照展示了使用Web Part控件生成可个性化设置的网页的例子。图2.实际应用中的典型的Web Part页该页面包含Web Part应用程序的若干基本元素:区域在页面布局中的用法。有两列可以包含控件:一列包含天气预报和股票控件,另一列包含Hotmail和新闻控件。这两列在Web Part术语中称为区域,即页面上包含Web Part控件的区域。区域的存在是为了对页面上的Web Part控件进行布局,并为控件提供公共UI。页面上可以有一个或多个区域,每个区域都可以包含一个或多个Web Part控件,并且每个区域都可以具有垂直或水平方向的页面布局。区域中的Web Part控件。每个控件都有可显示为控件上的链接、按钮或可单击图像的UI谓词(用户可执行的操作)。在上面的屏幕快照中,请注意每个控件在其标题栏中都有一个显示下拉菜单的按钮。在每个控件的菜单中都包含一些用于更改该控件特定细节的选项,以及另一些用于执行移动或删除控件及获取帮助等常见操作的选项。有些控件(如天气预报控件)允许用户对其进行个性化设置,以便只显示与用户相关的信息。指向启用大量个性化设置的链接。这些链接使用户可以更改页的内容、颜色和布局。例如,如果用户单击“添加列”链接,则Web Part应用程序可以允许用户向页添加其他列。或者,用户可以单击“添加内容”链接,这将显示一个控件目录,用户可以有选择性地将其中的控件添加到页上。这些控件中可能包含股票图表控件。用户可以将该控件添加到页上的某一区域,然后可以将该控件连接到现有的股票控件,以便为它包含的股票数据绘制图表。四、实际开发中使用Web Part控件的方式实际中,我们可以通过下列三种方法之一来使用Web Part:创建使用Web Part控件的网页;创建单个Web Part控件;创建完整的、可个性化设置的Web应用程序(如门户网站)。页面开发Web页面开发人员可以使用可视化设计工具(如Visual Studio 2005)创建使用Web Part的页。使用Visual Studio之类工具的一个好处就是:在可视化设计器中,Web Part控件集可提供拖放式创建及配置Web Part控件的功能。例如,可以使用该设计器将一个Web Part区域或一个Web Part编辑器控件拖到设计图面上,然后使用Web Part控件集所提供的用户界面将该控件配置在设计器中的正确位置。这可以加快Web Part应用程序的开发速度并减少必须编写的代码量。控件开发可以将现有的任意ASP.NET控件用作Web Part控件,包括标准的Web服务器控件、自定义服务器控件和用户控件。若要通过编程最大限度地控制环境,还可以创建从WebPart类派生的自定义Web Part控件。在开发单个Web Part控件时,通常会创建一个用户控件并将其用作Web Part控件,或者开发一个自定义Web Part控件。作为一个开发自定义Web Part控件的示例,可以创建一个控件以提供其它ASP.NET服务器控件所提供的任何功能,这可能对打包为可个性化设置的Web Part控件十分有用,这样的控件包括:日历、列表、财务信息、新闻、计算器、用于更新内容的多格式文本控件、连接到数据库的可编辑网格、动态更新显示的图表或天气和旅行信息。如果对控件提供了可视化设计器,则使用Visual Studio的任何页面开发人员只需将控件拖至Web Part区域并在设计时刻对该控件进行配置,而无需另外编写代码。Web应用程序开发开发完全集成和可个性化设置的Web应用程序(如门户网站)涉及最全面地使用Web Part。可以开发一个允许用户对用户界面和内容进行大量个性化性设置的网站,其功能类似于MSN。或者,甚至可以开发一个可由提供门户加载服务的公司或收费ISP提供和使用的打包应用程序。在Web应用程序方案中,可以为最终用户提供一个完整的解决方案来管理和个性化设置应用程序。这可能包括:一组提供站点所需功能的Web Part控件、一组使最终用户可以一致地对用户界面进行个性化设置的一致主题和样式、Web Part控件目录(用户可以从中选择要显示在页上的控件)、身份验证服务以及基于角色的管理(例如,允许管理员用户为所有用户对Web Part控件和站点设置进行个性化设置)。对于应用程序的各部分,可以根据需要扩展Web Part控件以对环境提供更好的控制。例如,除了为页面的主要用户界面创作自定义Web Part控件之外,还可能需要开发一个与应用程序的外观一致的自定义Web Part目录,并使用户可以更灵活地选择向页面添加控件的方式。也可以扩展区域控件,以便为它包含的Web Part控件提供其它用户界面选项。此外,还可以编写自定义个性化设置提供程序,以对存储和管理个性化设置数据的方式提供更大的灵活性和更多的控制。五、Web Part控件集概述ASP.NET Web Part控件集是一组协同工作的组件,使您可以创建最终用户可以直接从浏览器修改其用户界面的外观和行为的网页。本节仅讨论Web Part控件集的基本方面,包括对最常用的控件及创建Web Part页所需的基本Web Part组件的描述。(一)Web Part组件的类别Web Part控件集由三个基本构造块组成:个性化设置功能;在页面上使用Web Part用户界面控件所需的用户界面结构组件;Web Part用户界面控件本身。下图3阐释了Web Part控件集内的这三部分之间的关系。图3.组成Web Part控件集的三个基本构造块及其相互关系首先,个性化设置是Web Part功能的基础。它使用户可以对页面上Web Part控件的布局、外观和行为进行修改或个性化设置。个性化设置的生命周期较长:它们不仅在当前浏览器会话期间保留(与视图状态一样),而且还保留在长期存储中,这样用户设置也会保存下来,在以后的浏览器会话中使用。默认情况下,会为Web Part页启用个性化设置。其次,用户界面结构组件依赖于个性化设置,并提供所有Web Part控件需要的核心结构和服务。其中,WebPartManager控件是所有Web Part页面必需的一个用户界面结构组件。尽管该控件从不可见,但它执行着协调页面上所有Web Part控件的重要任务。例如,它跟踪各个Web Part控件,管理Web Part区域(页面上包含Web Part控件的区域),并管理哪些控件位于哪些区域;它还跟踪并控制页面可使用的不同显示模式(如浏览器、连接、编辑或目录模式)以及个性化设置更改是应用于所有用户还是个别用户。最后,它也负责启动Web Part控件之间的连接和通信并进行跟踪。【注意】一个WebPartManager控件不能管理整个应用程序,它只能管理一个页面。也可以把WebPartManager服务器控件放在Master页面(如果有的话)上,从而避免在每个内容页面上放置一个WebPartManager控件。第二种用户界面结构组件是WebPartZone控件,它定义了一个项区域,区域充当Web Part页上的布局管理器。区域包含并组织从Part类派生的控件(Part控件),并使用户能在水平或垂直方向进行模块化页面布局。此外,区域还为所包含的每个控件提供常见的和一致的用户界面元素(如页眉和页脚样式、标题、边框样式、操作按钮等)。有几种专用于不同显示模式的区域类型,并且这些类型使用不同的控件。在下面的Web Part基本控件节中描述了不同类型的区域。【注意】在一个WebPart控件区域中可以放置几乎所有内容。例如,可以放置如下内容:HTML元素原始文本HTML服务器控件Web服务器控件用户控件定制控件Web Part用户界面控件都派生自Part类,这些控件构成了Web Part页上的主要用户界面。Web Part控件集为我们创建Part控件提供了灵活多样的选择。(二)ZoneTemplate元素为了在模板化WebPartZone控件中包含数据项,必须包含元素。其实,在下篇的试验中,读者会注意到,当你把任何工具箱中控件拖动到WebPartZone控件中时,系统会自动添加一个ZoneTemplate元素。ZoneTemplate元素封装了一个区域中的所有项。它们显示在ZoneTemplate部分中的顺序就是它们在浏览器中显示的顺序,除非终端用户修改了它们,或通过编程方式修改该顺序。下面的代码片断展示了使用的一个简单的例子: 这个区域只包含一项一个动态图像。【提示】为了给显示在区域中的Web Part指定更有意义的名称,可以给控件添加Title属性。这是否是微软的一个小纰漏?下一节描述了创建Web Part页面时最常用的基本控件。(三)Web Part基本控件Web Part控件集包含大量控件,但其中一些控件是基本控件,因为它们是Web Part正常工作所必需的控件,或者是在Web Part页上最常用的控件。在开始使用Web Part并创建基本的Web Part页时,熟悉下表中描述的基本Web Part控件将对您很有帮助。WEB PART基本控件说明WebPartManager管理页面上的所有Web Part控件。每个Web Part页都需要一个(且只需要一个)WebPartManager控件。CatalogZone包含CatalogPart控件。使用此区域创建Web Part控件目录,用户可以从该目录中选择要添加到页面上的控件。EditorZone包含EditorPart控件。使用此区域使用户可以对页面上的Web Part控件进行编辑和个性化设置。WebPartZone包含并提供WebPart控件(构成页面的主要用户界面)的整体布局。只要您创建具有Web Part控件的页面,就会使用此区域。页面中可以包含一个或多个区域。ConnectionsZone包含WebPartConnection控件,并提供用于管理连接的用户界面。WebPart(GenericWebPart)呈现主要用户界面;大多数Web Part用户界面控件属于此类别。若要最大限度地实现编程控制,可以创建从WebPart基控件派生自己的自定义Web Part控件。此外,还可以将现有服务器控件、用户控件或自定义控件用作Web Part控件。只要在区域中放置了上述任意控件,在运行时WebPartManager控件就会自动用GenericWebPart控件包装这些控件,以便您可以通过Web Part功能使用这些控件。CatalogPart包含用户可添加到页面上的可用Web Part控件的列表。WebPartConnection在页面上两个Web Part控件之间创建连接。该连接将其中一个Web Part控件定义为数据的提供者,而将另一个定义为使用者。EditorPart用作专用编辑器控件的基类。EditorPart控件(AppearanceEditorPart、LayoutEditorPart、BehaviorEditorPart和PropertyGridEditorPart)六、小结在本篇中,我们概括介绍了构成WebParts控件集的基本概念,基本组件及其相互关系。在下篇中,我们将详细探讨一个基于WebParts控件集搭建终端用户可灵活定制的页面的具体案例。ASP.NET 2.0 Web Part编程入门(实践篇)2007-01-17 09:03作者: 朱先忠 出处:51CTO.com()砖()好评论() 条 进入论坛 关 键 词:.NETASPWeb Part入门实践阅读提示:在前面的【理论篇】中,我们分析了ASP.NET 2.0 Web Part的相关概念及基本编程技术。在本篇中,我们将构建一个利用Web Part进行网页开发的工程。本文仅提供了在ASP.NET网页上使用Web Part控件的基本示例。 【51CTO.com独家特稿】一、简介在许多Web应用程序中,能够更改内容的外观以及允许用户选择和排列要显示的内容是非常有用的。ASP.NET Web Part功能由一组用于创建网页的控件组成,这些控件能显示模块化内容并允许用户更改外观和内容。在本示例中,我将创建一个使用Web Part控件集的页面,用于创建用户可以修改或进行个性化设置的网页。本示例具体实现如下任务:向页添加Web Part控件。创建一个自定义用户控件,并将其用作Web Part控件。允许用户对页面上的Web Part控件的布局进行个性化设置。允许用户编辑Web Part控件的外观。允许用户从可用Web Part控件的目录中进行选择。(一)先决条件若要完成本示例,您需要:可标识各个用户的站点。如果您有一个已配置了ASP.NET成员资格的站点,则可以使用该站点作为本示例的起点。配置过的个性化设置提供程序和数据库。Web Part个性化设置默认情况下是启用的,它使用SQL个性化设置提供程序(SqlPersonalizationProvider)以及Microsoft SQL Server Exprss Edition(SSE)存储个性化设置数据。此示例使用SSE和默认的SQL提供程序。如果安装了SSE,则不需要进行任何配置。SSE在安装Microsoft Visual Studio 2005时作为可选部分免费提供,也可以从M免费下载。若要使用SQL Server的某个完整版本,必须安装和配置ASP.NET应用程序服务数据库,并配置SQL个性化设置提供程序以连接到该数据库。当然,你也可以创建和配置自定义提供程序,以便使用其他非SQL数据库或存储解决方案。【注】本文程序调试环境为Windows XP ProfessionalVS2005。二、案例分析现在,我们开始创建一个使用Web Part控件显示静态内容的页面。使用Web Part的第一步是创建具有两个必需的结构元素的页面。首先,Web Part页需要一个WebPartManager控件来跟踪和协调所有Web Part控件;其次,Web Part页需要一个或多个区域(区域即“Zone”,是包含WebPart或其他服务器控件并且占据页面上指定区域的复合控件)。【注意】您无需执行任何操作即可启用Web Part个性化设置;Web Part控件集默认情况下即启用该设置。在站点上第一次运行Web Part页时,ASP.NET会设置默认的个性化设置提供程序来存储用户个性化设置。(一)创建包含Web Part控件的页面1.启动VS2005,创建一个ASP.NET网站WebPartsDemo,并将默认页面Default.aspx重命名为WebPartsDemo.aspx。2.切换到“设计”视图。3.确保在“视图”菜单中选中“非可视控件”和“详细信息”选项,以便查看不具有用户界面的布局标记和控件。4.在设计图面上将插入点放在标记前,然后按Enter添加一个新行。将插入点放在新行字符前,单击菜单上的“块格式”下拉列表控件,再选择选项“标题1”。在该标题中添加文本“Web Part应用演示”。5.从工具箱的“WebParts”选项卡中,将一个WebPartManager控件拖动到页上,并将它放置在新行字符之后,标记之前。 【注】WebPartManager控件不呈现任何输出,因此在设计器图面上显示为灰框。6.将插入点放置在标记内。7.在“布局”菜单中单击“插入表”,然后创建一个包含一行三列的表。单击“单元格属性”按钮,从“垂直对齐”下拉列表中选择“顶端对齐”,单击“确定”创建表格。8.将一个WebPartZone控件拖动到该表左边的列中,并设置下面相应的属性:IDSidebarZone;HeaderText“侧栏”;9.再次将一个WebPartZone控件拖动到该表中间的列中,并设置下面的属性:IDMainZone;HeaderText“主要”;10.保存文件。 现在,页面中具有两个能够单独控制的不同区域。但是,这两个区域中都没有任何内容,因此下一步就是创建内容。此示例中使用的是仅显示静态内容的Web Part控件。Web Part区域的布局由元素指定。在区域模板内可以添加任何ASP.NET控件,无论是自定义Web Part控件、用户控件还是现有服务器控件。注意,本例中使用的是Label控件,其中仅添加了静态内容。如果在WebPartZone区域中放置常规服务器控件,则在运行时,ASP.NET将该控件视为Web Part控件,并在控件上启用Web Part功能。(二)为主要区域创建内容1.从工具箱的“标准”选项卡中将一个Label控件拖动到ID属性设置为MainZone的区域的内容区域中。2.切换到“源”视图。注意,系统自动添加了一个元素来包装MainZone中的Label控件。3.为元素添加一个名为title的属性,并将属性值设置为“Content”,并从元素中移除Text=Label属性。然后,在元素的开始标记和结束标记之间添加一些文本,例如在一对元素标记之间添加文本“欢迎访问本主页”。代码如下所示。 欢迎访问本主页 4.保存文件。接下来,创建一个也可以作为Web Part控件添加到页面中的用户控件。(三)创建用户控件本例中,我将一个新的Web用户控件添加到站点中,充当搜索控件。将该控件放在WebPartsDemo.aspx页所在的目录中,并将其命名为SearchUserControl.ascx。【注意】此示例的用户控件并不实现实际的搜索功能;它仅用于演示Web部件功能。1.切换到“设计”视图。从工具箱的“标准”选项卡中,将TextBox控件拖动到页面上。2.将插入点放在刚添加的文本框之后,再按Enter添加一个新行。3.将Button控件拖动到页面上刚添加的文本框下面的新行上。4.切换到“源”视图,并确保用户控件的源代码如下所示:5.保存并关闭文件。接下来,我们将向侧栏区域添加Web Part控件将向侧栏区域添加两个控件:一个包含链接列表,另一个则是在前面创建的用户控件。链接是作为标准Label服务器控件添加的,添加方法类似于为主要区域创建静态文本。虽然用户控件中包含的各个服务器控件都可直接包含在该区域中(类似标签控件),但在本示例中不是这样。相反,它们是在前面的过程中创建的用户控件的一部分。这演示了将所需控件和其他功能打包到用户控件中,然后在某个区域中将该控件作为Web Part控件引用的常用方式。运行时,Web Part控件集将这两个控件都包装在GenericWebPart控件中。当GenericWebPart控件包装Web服务器控件时,GenericWebPart为父控件,您可以通过该父控件的ChildControl属性访问服务器控件。【注意】GenericWebPart控件能够使标准Web服务器控件具有与从WebPart类派生的Web Part控件相同的基本行为和属性。(四)向侧栏区域添加Web Part控件1.打开WebPartsDemo.aspx页。2.切换到“设计”视图。3.将已创建的用户控件页SearchUserControl.ascx从“解决方案资源管理器”拖放到ID属性设置为SidebarZone的区域中。4.保存WebPartsDemo.aspx页面。5.切换到“源”视图。6.在SidebarZone的元素内,对用户控件的引用之上,添加一个包含了链接的元素;另外,将Title属性添加到用户控件标记,属性值为“搜索”,如下所示: ASP.NET网站 GotDotNet C 7.保存并关闭文件。(五)测试页面在浏览器中加载WebPartsDemo.aspx页面,结果应该如下图1所示。图1.具有两个区域的Web Part演示页该图中,每个控件的标题栏中都有一个向下的箭头,用于提供对控件上可执行操作的动作菜单的访问。单击其中一个控件的动作菜单,然后单击“最小化”,会发现该控件被最小化。在动作菜单上单击“还原”,控件还原为正常大小。(六)支持用户更改布局和编辑页面Web Part为用户提供了通过将Web Part控件从一个区域拖动到另一个区域来更改其布局的功能。除了允许用户将WebPart控件从一个区域移动到另一个区域外,还允许用户编辑控件的各种特征包括外观、布局和行为。Web Part控件集为WebPart控件提供了基本的编辑功能。【注】本示例中,我们仅实现了基本的编辑功能,但您可以创建自定义编译控件来允许用户编辑WebPart控件的功能。和更改WebPart控件的位置一样,编辑控件属性时需要由ASP.NET个性化设置来保存用户所做的更改。下面,我们将为用户添加相应的功能,使之能编辑页面上所有WebPart控件的基本特性。若要启用这些功能,应向页面中添加其它自定义控件以及一个元素和两个编辑控件。1创建支持对页面布局进行更改的用户控件(1)在Visual Studio中,选择“文件新建”菜单,然后单击“文件”选项。(2)在“添加新项”对话框中,选择“Web用户控件”。将新文件命名为DisplayModeMenu.ascx,并取消选项“将源代码放在单独的文件中”。(3)单击“添加”新建控件。(4)切换到“源”视图。(5)按如下内容修改源码(此用户控件允许用户更改其视图和显示模式的Web Part控件集功能,并允许您在某种显示模式下更改页面的物理外观和布局):/定义一个引用当前WebPartManager控件的变量 WebPartManager _manager; void Page_Init(object sender, EventArgs 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.SupportedDisplayModes) 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.Personalization.Scope = PersonalizationScope.User) RadioButton1.Checked = true; else RadioButton2.Checked = true; /把页面改变为选择的显示方式 void DisplayModeDropdown_SelectedIndexChanged(object sender, EventArgs e) String selectedMode = DisplayModeDropdown.SelectedValue; WebPartDisplayMode mode = _manager.SupportedDisplayModesselectedMode; 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 = selectedIndex; /复位页面中的所有用户个性化数据 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) _manager.Personalization.ToggleScope(); /如果还不是在共享范围内,并且用户已拥有权限,则切换范围 protected void RadioButton2_CheckedChanged(object sender, EventArgs e) if (_manager.Personalization.CanEnterSharedScope & _manager.Personalization.Scope = PersonalizationScope.User) _manager.Personalization.ToggleScope(); (6)保存文件。2.允许用户更改布局(1)打开WebPartsDemo.aspx页,并切换到“设计”视图。(2)在“设计”视图中将插入点放在以前添加的WebPartManager控件之后。在文本后添加一个硬回车,这样会在WebPartManager控件之后生成一个空行。将插入点放置在空行上。(3)将刚创建的用户控件(文件名为DisplayModeMenu.ascx)拖动到WebPartsDemo.aspx页上,并放置在空行上。(4)将一个EditorZone控件从工具箱的“WebParts”部分拖动到WebPartsDemo.aspx页面上表格最右边的一个单元格中。(5)从工具箱的“WebParts”部分将一个AppearanceEditorPart控件和一个LayoutEditorPart控件拖动到EditorZone控件上。(6)切换到“源”视图。于是,上面单元格中相应的代码类似如下。 4 【注意】本示例中仅使用了AppearanceEditorPart和LayoutEditorPart控件,而没有使用BehaviorEditorPart和PropertyGridEditorPart控件。(7)保存WebPartsDemo.aspx文件。至此,我们已经创建了允许更改显示模式和更改页面布局的用户控件,并且在主页面上引用了该控件。下面,我们开始测试编辑页面和更改布局的功能。3.测试布局更改(1)在浏览器中加载页面。(2)单击“显示模式”下拉菜单,再选择“Edit”;随即显示区域标题。(3)通过“链接”控件的标题栏将该控件从侧栏区域拖动到主要区域的底部。最终,页面的外观应类似下面的图2所示。图2.包含“链接”控件的Web Part演示页(4)单击“显示模式”下拉菜单,再选择“Browse”。页面被刷新,区域的名称消失,“链接”控件的位置保持不变。(5)若要演示个性化设置的运行情况,请关闭浏览器,然后重新加载该页面。会保存所做的更改,以备以后的浏览器会话使用。(6)从“显示模式”菜单中选择“Edit”。(7)页面上的每个控件的标题栏中现在均显示有一个向下的箭头,其中包含一个谓词下拉菜单。(8)单击箭头显示“链接”控件上的谓词菜单。单击“Edit”谓词。(9)随即出现EditorZone控件,并显示添加的EditorPart控件。(10)在编辑控件的“外观”部分,将标题更改为“我的收藏夹”,使用“镶边类型”下拉列表来选择“只有标题”,然后单击“应用”。下面的图3显示了该页面处于编辑模式时的情形。图3.编辑模式下的Web Part演示页(11)单击“显示模式”菜单,再选择“Browse”以返回到浏览模式。(12)现在,该控件具有更新了的标题但没有边框,如下面的图4所示。图4.编辑过的Web Part演示页(七)在运行时添加Web Part还可以允许用户在运行时向页面中添加Web Part控件。为此,应为WebPartsDemo.aspx页面配置Web Part目录由它给用户提供可添加的Web Part控件列表。【注意】在本示例中,我们创建一个包含FileUpload和Calendar控件的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论