WebPartPersonalization Class

Note: This class is new in the .NET Framework version 2.0.

Implements low-level personalization operations.

Namespace: System.Web.UI.WebControls.WebParts
Assembly: System.Web (in system.web.dll)

public ref class WebPartPersonalization
public class WebPartPersonalization
public class WebPartPersonalization

This class implements the logic required to carry out lower-level personalization operations. Although the WebPartManager class manages the high-level life cycle of personalization, it is the WebPartPersonalization class that is responsible for actually implementing the physical steps necessary to carry out specific personalization actions. The WebPartPersonalization class in turn relies on an implementation of PersonalizationProvider to communicate with the underlying data store for personalization information.

If you use the default implementation of the WebPartManager, it creates an instance of the WebPartPersonalization class that you can use by referencing the Personalization property. For example, to access the InitialScope property, you would specify WebPartManager.Personalization.InitialScope.

Notes to Inheritors The WebPartPersonalization class works closely with a WebPartManager control and the rest of the personalization infrastructure. The default implementation of personalization is a very robust subsystem that should meet your personalization needs. In most cases, if you want to customize personalization, you can create a data provider for use as a personalization provider by creating a class that inherits from PersonalizationProvider. If you want to create a personalization subsystem significantly different from that provided by the WebPartPersonalization and the WebPartManager classes, you should create a custom WebPartPersonalization implementation by deriving from WebPartPersonalization and add your own custom logic. Then create a custom WebPartManager implementation by deriving from WebPartManager, add your own custom logic, and override the CreatePersonalization method to return your custom WebPartPersonalization implementation. Because a WebPartManager control makes requests to the personalization infrastructure by way of a WebPartPersonalization instance, the WebPartManager control does not directly interact with or hold references to PersonalizationProvider implementations.

TopicLocation
How to: Enable Shared Personalization of ASP.NET Web Parts PagesBuilding ASP .NET Web Applications
How to: Disable Web Parts PersonalizationBuilding ASP .NET Web Applications
How to: Enable Shared Personalization of ASP.NET Web Parts PagesBuilding ASP .NET Web Applications
How to: Disable Web Parts PersonalizationBuilding ASP .NET Web Applications

The following code example shows how the WebPartPersonalization class is used, as well as providing an example of how personalization scope affects the results of personalized properties. This example has five files:

  • An .aspx page that declaratively creates two Web Part zones, each with a control.

  • A user control called Color.ascx that allows a user to change a personalized property that applies a text box background color based on the user's authorization rights to modify state information and to enter shared scope.

  • A user control called Persmode.ascx that indicates what the current page scope is and what rights the current user has to enter shared scope or to modify data; it also provides two buttons; one to change scope and one to reset current user personalization information.

  • A login control that is used to authorize users.

  • A Web.config file with a section that provides an example of authorizing a user to modify personalization state and to enter shared scope.

The following code creates an aspx page with a WebPartManager and two Web Part zones and displays the Color.ascx and Persmode.ascx controls. The page loads a login page that is used to get the current user information. Use the ASP.NET Web Site Administration Tool in Microsoft Visual Studio 2005 to create users to access the page. See the web.config file for an example of a user granted authorization in the configuration file to change scope and modify state information.

No code example is currently available or this language may not be supported.

The following code creates a login page. After a successful login, it redirects to the main aspx page.

No code example is currently available or this language may not be supported.

The following code is a portion of the web.config file for this application. This section shows how to set authorization for a user, in this case "user2", to enter shared personalization scope and to modify personalization state information. It also shows an example of a role, in this case "admin", that can be used to allow users in the "admin" role to enter shared personalization scope and to modify personalization state information.

No code example is currently available or this language may not be supported.

The following code creates a user control, called Color.ascx, that allows the user to change a personalized property, in this case the background color of two text boxes, based on the current personalization scope and the authorization rights of the user.

No code example is currently available or this language may not be supported.

The following code creates a user control, called Persmode.ascx, that shows the current personalization scope and the user rights to modify state and to enter shared scope. It also has a reset button for resetting the current personalization state.

No code example is currently available or this language may not be supported.

  • AspNetHostingPermission  for operating in a hosted environment. Demand value: LinkDemand; Permission value: Minimal.
  • AspNetHostingPermission  for operating in a hosted environment. Demand value: InheritanceDemand; Permission value: Minimal.

System.Object
  System.Web.UI.WebControls.WebParts.WebPartPersonalization

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0

Community Additions

ADD
Show: