WebPartPersonalization クラス
アセンブリ: System.Web (system.web.dll 内)


このクラスは、低レベルのパーソナル化操作を実行するために必要なロジックを実装します。WebPartManager クラスは、パーソナル化の高レベルの有効期間を管理しますが、固有のパーソナル化操作に必要な物理ステップは、実際には WebPartPersonalization クラスによって実装されます。また、WebPartPersonalization クラスは、基になるデータ ストアとのパーソナル化情報の通信を PersonalizationProvider の実装に依存しています。
WebPartManager の既定の実装を使用すると、Personalization プロパティを参照することで使用できる WebPartPersonalization クラスのインスタンスが作成されます。たとえば、InitialScope プロパティにアクセスするためには、WebPartManager.Personalization.InitialScope を指定します。
継承時の注意 WebPartPersonalization クラスは、WebPartManager コントロールやパーソナル化のインフラストラクチャの他の部分と密接に連携します。パーソナル化の既定の実装は、パーソナル化の要求を満たす非常に信頼性の高いサブシステムです。ほとんどの場合、パーソナル化のカスタマイズが必要なときには、PersonalizationProvider を継承するクラスを作成することによって、パーソナル化プロバイダとして使用するデータ プロバイダを作成できます。 WebPartPersonalization クラスや WebPartManager クラスによって提供されるものとは大きく異なるパーソナル化サブシステムを作成するときは、WebPartPersonalization から派生させることによってカスタムの WebPartPersonalization の実装を作成し、カスタム ロジックを追加する必要があります。その場合は、WebPartManager から派生させることによってカスタムの WebPartManager の実装を作成し、カスタム ロジックを追加します。そして、CreatePersonalization メソッドをオーバーライドしてカスタムの WebPartPersonalization の実装を返します。WebPartManager コントロールは WebPartPersonalization のインスタンスを使用してパーソナル化インフラストラクチャに対する要求を行うため、WebPartManager コントロールが、PersonalizationProvider の実装への参照と直接やり取りしたり、この参照を保持したりすることはありません。
WebPartPersonalization クラスを使用する方法を、次のコード例に示します。また、パーソナル化スコープが、パーソナル化されたプロパティの結果に与える影響の例についても説明します。この例は、次の 5 つのファイルで構成されます。
-
Color.ascx という名前のユーザー コントロール。このコントロールにより、ユーザーは、状態情報の変更や共有スコープの入力に必要なユーザーの承認権限に基づいてテキスト ボックスの背景色に適用するパーソナル化されたプロパティを変更できます。
-
現在のページのスコープや、共有スコープの入力またはデータの変更のための現在のユーザー権限を示す Persmode.ascx という名前のユーザー コントロール。このコントロールにはボタンが 2 つあります。1 つはスコープを変更するためのボタン、もう 1 つは現在のユーザーのパーソナル化情報をリセットするためのボタンです。
-
パーソナル化状態の変更および共有スコープの入力をユーザーに承認する例を示すセクションを含んだ Web.config ファイル。
次のコードでは、WebPartManager および 2 つの Web パーツ ゾーンを使用する aspx ページを作成し、Color.ascx コントロールおよび Persmode.ascx コントロールを表示します。このページは、現在のユーザー情報を取得するために使用されるログイン ページを読み込みます。Microsoft Visual Studio 2005 の ASP.NET Web サイト管理ツールを使用して、ページにアクセスするユーザーを作成します。構成ファイル内で、スコープの変更および状態情報の変更のためにユーザーに与えられる承認の例については、web.config ファイルを参照してください。
<%@ Page Language="C#" %> <%@ Register TagPrefix="control" TagName="colorcontrol" Src="~/color.ascx"%> <%@Register TagPrefix=pmode TagName=persmode Src="~/persMode.ascx" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <!-- Create Web Part manager and zone for the color user control. --> <asp:WebPartManager ID="WebPartManager1" runat=server></asp:WebPartManager> <asp:WebPartZone ID="WebPartZone1" runat="server" HeaderText="Color Change Zone"> <ZoneTemplate> <!-- Note that the control is Shared since it is declared on the page. --> <control:colorcontrol id=color1 title="Color Control" runat=server /> </ZoneTemplate> </asp:WebPartZone> <br /> <!-- Create Web Part zone for the personalization mode user control. --> <asp:WebPartZone ID="WebPartZone2" runat="server" HeaderText="Scope Change Zone" Height="109px"> <ZoneTemplate> <pmode:persmode ID="Persmode1" runat=server title="Scope Tool"/> </ZoneTemplate> </asp:WebPartZone> </form> </body> </html>
<%@ Page Language="C#" %> <%@ Register TagPrefix="control" TagName="colorcontrol" Src="~/color.ascx"%> <%@Register TagPrefix=pmode TagName=persmode Src="~/persMode.ascx" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <!-- Create Web Part manager and zone for the color user control. --> <asp:WebPartManager ID="WebPartManager1" runat=server></asp:WebPartManager> <asp:WebPartZone ID="WebPartZone1" runat="server" HeaderText="Color Change Zone"> <ZoneTemplate> <!-- Note that the control is Shared since it is declared on the page. --> <control:colorcontrol id=color1 title="Color Control" runat=server /> </ZoneTemplate> </asp:WebPartZone> <br /> <!-- Create Web Part zone for the personalization mode user control. --> <asp:WebPartZone ID="WebPartZone2" runat="server" HeaderText="Scope Change Zone" Height="109px"> <ZoneTemplate> <pmode:persmode ID="Persmode1" runat=server title="Scope Tool"/> </ZoneTemplate> </asp:WebPartZone> </form> </body> </html>
次のコードでは、ログイン ページが作成されます。ログインが成功すると、このページはメインの aspx ページにリダイレトされます。
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> </script> <html > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Login ID="Login1" runat="server" BorderWidth="1px" BorderColor="#E6E2D8" BorderPadding="4" BorderStyle="Solid" BackColor="#F7F6F3" ForeColor="#333333" Font-Names="Verdana" Font-Size="0.8em" DestinationPageUrl="~/Defaultvb.aspx"> <InstructionTextStyle ForeColor="Black" Font-Italic="True" Font-Size="0.8em" /> <LoginButtonStyle Font-Names="Verdana" Font-Size="0.8em" BorderStyle="Solid" BorderWidth="1px" BorderColor="#CCCCCC" BackColor="#FFFBFF" ForeColor="#284775" /> <TextBoxStyle Font-Size="0.8em" /> <LabelStyle Font-Size="0.8em" /> <TitleTextStyle ForeColor="White" Font-Size="0.9em" Font-Bold="True" BackColor="#5D7B9D" /> <HyperLinkStyle Font-Size="0.8em" /> <CheckBoxStyle Font-Size="0.8em" /> <FailureTextStyle ForeColor="#FF0000" Font-Size="0.8em" /> </asp:Login> </div> </form> You can create new users with the ASP.NET Web Site Administration Tool in Microsoft Visual Studio 2005. See also the web.config file for user authorization examples. </body> </html>
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> </script> <html > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Login ID="Login1" runat="server" BorderWidth="1px" BorderColor="#E6E2D8" BorderPadding="4" BorderStyle="Solid" BackColor="#F7F6F3" ForeColor="#333333" Font-Names="Verdana" Font-Size="0.8em" DestinationPageUrl="~/Defaultcs.aspx"> <InstructionTextStyle ForeColor="Black" Font-Italic="True" Font-Size="0.8em" /> <LoginButtonStyle Font-Names="Verdana" Font-Size="0.8em" BorderStyle="Solid" BorderWidth="1px" BorderColor="#CCCCCC" BackColor="#FFFBFF" ForeColor="#284775" /> <TextBoxStyle Font-Size="0.8em" /> <LabelStyle Font-Size="0.8em" /> <TitleTextStyle ForeColor="White" Font-Size="0.9em" Font-Bold="True" BackColor="#5D7B9D" /> <HyperLinkStyle Font-Size="0.8em" /> <CheckBoxStyle Font-Size="0.8em" /> <FailureTextStyle ForeColor="#FF0000" Font-Size="0.8em" /> </asp:Login> </div> </form> You can create new users with the ASP.NET Web Site Administration Tool in Microsoft Visual Studio 2005. See also the web.config file for user authorization examples. </body> </html>
次のコードは、web.config ファイルでこのアプリケーションに関する部分です。このセクションでは、この例で "user2" となっているユーザーに、共有パーソナル化スコープの入力およびパーソナル化状態情報の変更のための承認を設定する方法を示します。また、この例で "admin" となっているロールの例も示します。"admin" は、このロールに属するユーザーが共有パーソナル化スコープの入力およびパーソナル化状態情報の変更を行うことができるようにします。
<webParts> <personalization defaultProvider="AspNetSqlPersonalizationProvider"> <authorization> <allow users="user2" verbs="enterSharedScope, modifyState"/> <allow roles="admin" verbs="enterSharedScope, modifyState"/> </authorization> </personalization> </webParts>
<webParts> <personalization defaultProvider="AspNetSqlPersonalizationProvider"> <authorization> <allow users="user2" verbs="enterSharedScope, modifyState"/> <allow roles="admin" verbs="enterSharedScope, modifyState"/> </authorization> </personalization> </webParts>
次のコードでは、Color.ascx という名前のユーザー コントロールを作成します。このコントロールにより、ユーザーが現在のパーソナル化スコープとユーザー権限の承認に基づいてパーソナル化されたプロパティ (この例では 2 つのテキスト ボックスの背景色) を変更できるようになります。
<%@ Control Language="VB" %> <html> <script runat=server> ' User a field to reference the current WebPartManager. Private _manager As WebPartManager ' Defines personalized property for User scope. In this case, the property is ' the background color of the text box. <Personalizable(PersonalizationScope.User)> _ Public Property UserColorChoice() As System.Drawing.Color Get Return _coloruserTextBox.BackColor End Get Set _coloruserTextBox.BackColor = value End Set End Property ' Defines personalized property for Shared scope. In this case, the property is ' the background color of the text box. <Personalizable(PersonalizationScope.Shared)> _ Public Property SharedColorChoice() As System.Drawing.Color Get Return _colorsharedTextBox.BackColor End Get Set _colorsharedTextBox.BackColor = value End Set End Property Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) _manager = WebPartManager.GetCurrentWebPartManager(Page) End Sub 'Page_Init Protected Sub Page_Load(ByVal src As Object, ByVal e As EventArgs) ' If Web Parts manager scope is User, hide the button that changes shared control. If _manager.Personalization.Scope = PersonalizationScope.User Then _sharedchangeButton.Visible = False If Not _manager.Personalization.IsModifiable Then _userchangeButton.Enabled = False End If Else _sharedchangeButton.Visible = True If Not _manager.Personalization.IsModifiable Then _sharedchangeButton.Enabled = False _userchangeButton.Enabled = False End If End If End Sub 'Page_Load ' Changes color of the User text box background when button clicked by authorized user. Protected Sub _userButton_Click(ByVal src As Object, ByVal e As EventArgs) Select Case _coloruserTextBox.BackColor.Name Case "Red" _coloruserTextBox.BackColor = System.Drawing.Color.Yellow Case "Yellow" _coloruserTextBox.BackColor = System.Drawing.Color.Green Case "Green" _coloruserTextBox.BackColor = System.Drawing.Color.Red End Select End Sub '_userButton_Click ' Changes color of the Shared text box background when button clicked by authorized user. Protected Sub _sharedButton_Click(ByVal src As Object, ByVal e As EventArgs) Select Case _colorsharedTextBox.BackColor.Name Case "Red" _colorsharedTextBox.BackColor = System.Drawing.Color.Yellow Case "Yellow" _colorsharedTextBox.BackColor = System.Drawing.Color.Green Case "Green" _colorsharedTextBox.BackColor = System.Drawing.Color.Red End Select End Sub '_sharedButton_Click </script> <body> <p> <asp:LoginName ID="LoginName1" runat="server" BorderWidth=500 BorderStyle=none /> <asp:LoginStatus ID="LoginStatus1" LogoutAction=RedirectToLoginPage runat="server" /> </p> <asp:Label ID="ScopeLabel" Text="Scoped Properties:" runat=server Width="289px"></asp:Label> <br /> <p> <table style="width: 226px"> <tr> <td> <asp:TextBox ID="_coloruserTextBox" Font-Bold="True" Height="110px" runat="server" Text="User Property" BackColor=red Width="110px" /> </td> <td> <asp:TextBox ID=_colorsharedTextBox runat=server Height=110px Width=110px Text="Shared Property" BackColor=red Font-Bold=true /> </td> </tr> <tr> <td> <asp:Button Text="Change User Color" ID=_userchangeButton runat=server OnClick="_userButton_Click" /> </td> <td > <asp:Button Text="Change Shared Color" ID=_sharedchangeButton runat=server OnClick="_sharedButton_Click" /> </td> </tr> </table> </p> </body> </html>
<%@ Control Language="C#" %> <html> <script runat=server> // User a field to reference the current WebPartManager. private WebPartManager _manager; // Defines personalized property for User scope. In this case, the property is // the background color of the text box. [Personalizable(PersonalizationScope.User)] public System.Drawing.Color UserColorChoice { get { return _coloruserTextBox.BackColor; } set { _coloruserTextBox.BackColor = value; } } // Defines personalized property for Shared scope. In this case, the property is // the background color of the text box. [Personalizable(PersonalizationScope.Shared) ] public System.Drawing.Color SharedColorChoice { get { return _colorsharedTextBox.BackColor; } set { _colorsharedTextBox.BackColor = value; } } void Page_Init(object sender, EventArgs e) { _manager = WebPartManager.GetCurrentWebPartManager(Page); } protected void Page_Load(object src, EventArgs e) { // If Web Parts manager scope is User, hide the button that changes shared control. if (_manager.Personalization.Scope == PersonalizationScope.User) { _sharedchangeButton.Visible = false; if (!_manager.Personalization.IsModifiable) _userchangeButton.Enabled = false; } else { _sharedchangeButton.Visible = true; if (!_manager.Personalization.IsModifiable) { _sharedchangeButton.Enabled = false; _userchangeButton.Enabled = false; } } } // Changes color of the User text box background when button clicked by authorized user. protected void _userButton_Click(object src, EventArgs e) { switch(_coloruserTextBox.BackColor.Name) { case "Red": _coloruserTextBox.BackColor = System.Drawing.Color.Yellow; break; case "Yellow": _coloruserTextBox.BackColor = System.Drawing.Color.Green; break; case "Green": _coloruserTextBox.BackColor = System.Drawing.Color.Red; break; } } // Changes color of the Shared text box background when button clicked by authorized user. protected void _sharedButton_Click(object src, EventArgs e) { switch (_colorsharedTextBox.BackColor.Name) { case "Red": _colorsharedTextBox.BackColor = System.Drawing.Color.Yellow; break; case "Yellow": _colorsharedTextBox.BackColor = System.Drawing.Color.Green; break; case "Green": _colorsharedTextBox.BackColor = System.Drawing.Color.Red; break; } } </script> <body> <p> <asp:LoginName ID="LoginName1" runat="server" BorderWidth=500 BorderStyle=none /> <asp:LoginStatus ID="LoginStatus1" LogoutAction=RedirectToLoginPage runat="server" /> </p> <asp:Label ID="ScopeLabel" Text="Scoped Properties:" runat=server Width="289px"></asp:Label> <br /> <p> <table style="width: 226px"> <tr> <td> <asp:TextBox ID="_coloruserTextBox" Font-Bold="True" Height="110px" runat="server" Text="User Property" BackColor=red Width="110px" /> </td> <td> <asp:TextBox ID=_colorsharedTextBox runat=server Height=110px Width=110px Text="Shared Property" BackColor=red Font-Bold=true /> </td> </tr> <tr> <td> <asp:Button Text="Change User Color" ID=_userchangeButton runat=server OnClick="_userButton_Click" /> </td> <td > <asp:Button Text="Change Shared Color" ID=_sharedchangeButton runat=server OnClick="_sharedButton_Click" /> </td> </tr> </table> </p> </body> </html>
次のコードでは、Persmode.ascx という名前のユーザー コントロールを作成します。このコントロールは、現在のパーソナル化スコープと、状態の変更および共有スコープの入力を行うユーザー権限を示します。また、このコントロールには、現在のパーソナル化状態をリセットするためのリセット ボタンもあります。
<%@ control language="VB" %> <script runat="server"> ' Use a field to reference the current WebPartManager. Private _manager As WebPartManager Protected Sub Page_Load(ByVal src As Object, ByVal e As EventArgs) ' Get the current Web Parts manager. _manager = WebPartManager.GetCurrentWebPartManager(Page) ' All radio buttons are disabled; the button settings show what the current state is. EnterSharedRadioButton.Enabled = False ModifyStateRadioButton.Enabled = False ' If Web Parts manager is in User scope, set scope button. If _manager.Personalization.Scope = PersonalizationScope.User Then UserScopeRadioButton.Checked = True Else SharedScopeRadioButton.Checked = True End If ' Based on current user rights to enter Shared scope, set buttons. If _manager.Personalization.CanEnterSharedScope Then EnterSharedRadioButton.Checked = True No_Shared_Scope_Label.Visible = False Toggle_Scope_Button.Enabled = True Else EnterSharedRadioButton.Checked = False No_Shared_Scope_Label.Visible = True Toggle_Scope_Button.Enabled = False End If ' Based on current user rights to modify personalization state, set buttons. If _manager.Personalization.IsModifiable Then ModifyStateRadioButton.Checked = True Reset_User_Button.Enabled = True Else ModifyStateRadioButton.Checked = False Reset_User_Button.Enabled = False End If End Sub 'Page_Load ' Resets all of a user and shared personalization data for the page. Protected Sub Reset_CurrentState_Button_Click(ByVal src As Object, ByVal e As EventArgs) ' User must be authorized to modify state before a reset can occur. 'When in user scope, all users by default can change their own data. If _manager.Personalization.IsModifiable Then _manager.Personalization.ResetPersonalizationState() End If End Sub 'Reset_CurrentState_Button_Click ' Allows authorized user to change personalization scope. Protected Sub Toggle_Scope_Button_Click(ByVal sender As Object, ByVal e As EventArgs) If _manager.Personalization.CanEnterSharedScope Then _manager.Personalization.ToggleScope() End If End Sub 'Toggle_Scope_Button_Click </script> <div> <asp:Panel ID="Panel1" runat="server" Borderwidth="1" Width="208px" BackColor="lightgray" Font-Names="Verdana, Arial, Sans Serif" Height="214px" > <asp:Label ID="Label1" runat="server" Text="Page Scope" Font-Bold="True" Font-Size="8pt" Width="120px" /> <br /> <asp:RadioButton ID="UserScopeRadioButton" runat="server" Text="User" AutoPostBack="true" GroupName="Scope" Enabled=false /> <asp:RadioButton ID="SharedScopeRadioButton" runat="server" Text="Shared" AutoPostBack="true" GroupName="Scope" Enabled=false /> <br /> <asp:Label BorderStyle="None" Font-Bold="True" Font-Names="Courier New" ID="No_Shared_Scope_Label" Font-Size=Smaller ForeColor=red runat="server" Visible=false Width="179px">User cannot enter Shared scope</asp:Label> <br /> <asp:Label ID="Label2" runat="server" Text="Current User Can:" Font-Bold="True" Font-Size="8pt" Width="165px" /> <br /> <asp:RadioButton ID="ModifyStateRadioButton" runat="server" Text="Modify State" Width="138px" /> <br /> <asp:RadioButton ID="EnterSharedRadioButton" runat="server" Text="Enter Shared Scope" AutoPostBack="true" /> <br /> <br /> <asp:Button ID="Toggle_Scope_Button" OnClick="Toggle_Scope_Button_Click" runat="server" Text="Change Scope" Width="186px" /><br /> <br /> <asp:Button ID="Reset_User_Button" OnClick="Reset_CurrentState_Button_Click" runat="server" Text="Reset Current Personalization" Width="185px" /></asp:Panel> </div>
<%@ control language="C#" %> <script runat="server"> // Use a field to reference the current WebPartManager. private WebPartManager _manager; protected void Page_Load(object src, EventArgs e) { // Get the current Web Parts manager. _manager = WebPartManager.GetCurrentWebPartManager(Page); // All radio buttons are disabled; the button settings show what the current state is. EnterSharedRadioButton.Enabled = false; ModifyStateRadioButton.Enabled = false; // If Web Parts manager is in User scope, set scope button. if (_manager.Personalization.Scope == PersonalizationScope.User) UserScopeRadioButton.Checked = true; else SharedScopeRadioButton.Checked = true; // Based on current user rights to enter Shared scope, set buttons. if (_manager.Personalization.CanEnterSharedScope) { EnterSharedRadioButton.Checked = true; No_Shared_Scope_Label.Visible = false; Toggle_Scope_Button.Enabled = true; } else { EnterSharedRadioButton.Checked = false; No_Shared_Scope_Label.Visible = true; Toggle_Scope_Button.Enabled = false; } // Based on current user rights to modify personalization state, set buttons. if (_manager.Personalization.IsModifiable) { ModifyStateRadioButton.Checked = true; Reset_User_Button.Enabled = true; } else { ModifyStateRadioButton.Checked = false; Reset_User_Button.Enabled = false; } } // Resets all of a user and shared personalization data for the page. protected void Reset_CurrentState_Button_Click(object src, EventArgs e) { // User must be authorized to modify state before a reset can occur. //When in user scope, all users by default can change their own data. if (_manager.Personalization.IsModifiable) { _manager.Personalization.ResetPersonalizationState(); } } // Allows authorized user to change personalization scope. protected void Toggle_Scope_Button_Click(object sender, EventArgs e) { if (_manager.Personalization.CanEnterSharedScope) { _manager.Personalization.ToggleScope(); } } </script> <div> <asp:Panel ID="Panel1" runat="server" Borderwidth="1" Width="208px" BackColor="lightgray" Font-Names="Verdana, Arial, Sans Serif" Height="214px" > <asp:Label ID="Label1" runat="server" Text="Page Scope" Font-Bold="True" Font-Size="8pt" Width="120px" /> <br /> <asp:RadioButton ID="UserScopeRadioButton" runat="server" Text="User" AutoPostBack="true" GroupName="Scope" Enabled=false /> <asp:RadioButton ID="SharedScopeRadioButton" runat="server" Text="Shared" AutoPostBack="true" GroupName="Scope" Enabled=false /> <br /> <asp:Label BorderStyle="None" Font-Bold="True" Font-Names="Courier New" ID="No_Shared_Scope_Label" Font-Size=Smaller ForeColor=red runat="server" Visible=false Width="179px">User cannot enter Shared scope</asp:Label> <br /> <asp:Label ID="Label2" runat="server" Text="Current User Can:" Font-Bold="True" Font-Size="8pt" Width="165px" /> <br /> <asp:RadioButton ID="ModifyStateRadioButton" runat="server" Text="Modify State" Width="138px" /> <br /> <asp:RadioButton ID="EnterSharedRadioButton" runat="server" Text="Enter Shared Scope" AutoPostBack="true" /> <br /> <br /> <asp:Button ID="Toggle_Scope_Button" OnClick="Toggle_Scope_Button_Click" runat="server" Text="Change Scope" Width="186px" /><br /> <br /> <asp:Button ID="Reset_User_Button" OnClick="Reset_CurrentState_Button_Click" runat="server" Text="Reset Current Personalization" Width="185px" /></asp:Panel> </div>


System.Web.UI.WebControls.WebParts.WebPartPersonalization


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
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


WebPartPersonalization コンストラクタ
アセンブリ: System.Web (system.web.dll 内)



このコンストラクタは、このクラスのインスタンスを初期化して、WebPartManager コントロールに関連付けます。このコントロールのパーソナル化操作は、WebPartPersonalization のインスタンスが行います。

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
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


WebPartPersonalization フィールド

名前 | 説明 | |
---|---|---|
![]() | EnterSharedScopeUserCapability | Shared スコープを入力するためのユーザーの承認の WebPartUserCapability インスタンスを表します。 |
![]() | ModifyStateUserCapability | パーソナル化状態を変更するためのユーザーの承認の WebPartUserCapability インスタンスを表します。 |

WebPartPersonalization プロパティ

名前 | 説明 | |
---|---|---|
![]() | CanEnterSharedScope | ユーザーが Shared スコープの入力を承認されているかどうかを示す値を返します。 |
![]() | Enabled | パーソナル化が、関連する WebPartManager コントロールで有効となるように要求されているかどうかを示す値を返します。 |
![]() | HasPersonalizationState | 現在のページおよびパーソナル化スコープが、関連するパーソナル化データを保持しているかどうかを示す値を返します。 |
![]() | InitialScope | 既定のパーソナル化スコープを取得または設定します。 |
![]() | IsEnabled | パーソナル化が有効で、WebPartPersonalization クラスのこのインスタンスのパーソナル化データを正常に読み込んだかどうかを示す値を取得します。 |
![]() | IsModifiable | 現在のユーザーが、状態情報の変更を承認されているかどうかを示す値を取得します。 |
![]() | ProviderName | パーソナル化のプロバイダ名を取得または設定します。 |
![]() | Scope | 親の WebPartManager コントロールの現在のパーソナル化スコープを取得します。 |

名前 | 説明 | |
---|---|---|
![]() | IsInitialized | パーソナル化が有効で、WebPartPersonalization クラスのこのインスタンスのパーソナル化データを正常に読み込んだかどうかを示す値を取得します。 |
![]() | ShouldResetPersonalizationState | 現在のページのパーソナル化データが、リセットされたかどうかを示す値を取得または設定します。たとえば、基になるデータ ストアからパーソナル化データを削除する要求が行われた場合、このパーソナル化データはリセットされます。 |
![]() | UserCapabilities | 現在のユーザーに許可されている WebPartUserCapability から、一連のユーザー機能を取得します。 |
![]() | WebPartManager | WebPartPersonalization のインスタンスに関連付けられた、現在の親である WebPartManager コントロールのインスタンスを取得します。 |

WebPartPersonalization メソッド

名前 | 説明 | |
---|---|---|
![]() | EnsureEnabled | WebPartPersonalization のインスタンスが初期化を完了したか、または現在のユーザーがパーソナル化状態を変更する権限を持っているかを確認します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ResetPersonalizationState | 基になるデータ ストア内の現在のページ、スコープ、およびユーザーのパーソナル化データをリセットします。 |
![]() | ToggleScope | 現在のページのパーソナル化スコープを、User から Shared に、または Shared から User に切り替えます。 |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | ApplyPersonalizationState | オーバーロードされます。 WebPartPersonalization のインスタンスに関連付けられた WebPartManager コントロール、または特定の WebPart のインスタンスのいずれかにパーソナル化データを適用します。 |
![]() | ChangeScope | 現在のページの PersonalizationScope インスタンスを、指定されたスコープに変更します。 |
![]() | CopyPersonalizationState | 1 つ目の Web パーツ コントロールからパーソナル化状態を抽出し、2 つ目の Web パーツ コントロールに適用します。 |
![]() | ExtractPersonalizationState | オーバーロードされます。 親の WebPartManager コントロールからパーソナル化データを抽出します。 |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | GetAuthorizationFilter | 指定された Web パーツ コントロールに関連付けられている場合は、承認フィルタを取得します。 |
![]() | Load | パーソナル化を初期化します。 |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
![]() | Save | 現在のページ、スコープ、およびユーザーのパーソナル化データを、基になるデータ ストアに保存します。 |
![]() | SetDirty | オーバーロードされます。 親の WebPartManager コントロールが、変更されている ("ダーティ" になった) パーソナル化データを保持しているとしてマークします。 |

WebPartPersonalization メンバ
WebPartPersonalization データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | EnterSharedScopeUserCapability | Shared スコープを入力するためのユーザーの承認の WebPartUserCapability インスタンスを表します。 |
![]() | ModifyStateUserCapability | パーソナル化状態を変更するためのユーザーの承認の WebPartUserCapability インスタンスを表します。 |

名前 | 説明 | |
---|---|---|
![]() | CanEnterSharedScope | ユーザーが Shared スコープの入力を承認されているかどうかを示す値を返します。 |
![]() | Enabled | パーソナル化が、関連する WebPartManager コントロールで有効となるように要求されているかどうかを示す値を返します。 |
![]() | HasPersonalizationState | 現在のページおよびパーソナル化スコープが、関連するパーソナル化データを保持しているかどうかを示す値を返します。 |
![]() | InitialScope | 既定のパーソナル化スコープを取得または設定します。 |
![]() | IsEnabled | パーソナル化が有効で、WebPartPersonalization クラスのこのインスタンスのパーソナル化データを正常に読み込んだかどうかを示す値を取得します。 |
![]() | IsModifiable | 現在のユーザーが、状態情報の変更を承認されているかどうかを示す値を取得します。 |
![]() | ProviderName | パーソナル化のプロバイダ名を取得または設定します。 |
![]() | Scope | 親の WebPartManager コントロールの現在のパーソナル化スコープを取得します。 |

名前 | 説明 | |
---|---|---|
![]() | IsInitialized | パーソナル化が有効で、WebPartPersonalization クラスのこのインスタンスのパーソナル化データを正常に読み込んだかどうかを示す値を取得します。 |
![]() | ShouldResetPersonalizationState | 現在のページのパーソナル化データが、リセットされたかどうかを示す値を取得または設定します。たとえば、基になるデータ ストアからパーソナル化データを削除する要求が行われた場合、このパーソナル化データはリセットされます。 |
![]() | UserCapabilities | 現在のユーザーに許可されている WebPartUserCapability から、一連のユーザー機能を取得します。 |
![]() | WebPartManager | WebPartPersonalization のインスタンスに関連付けられた、現在の親である WebPartManager コントロールのインスタンスを取得します。 |

名前 | 説明 | |
---|---|---|
![]() | EnsureEnabled | WebPartPersonalization のインスタンスが初期化を完了したか、または現在のユーザーがパーソナル化状態を変更する権限を持っているかを確認します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ResetPersonalizationState | 基になるデータ ストア内の現在のページ、スコープ、およびユーザーのパーソナル化データをリセットします。 |
![]() | ToggleScope | 現在のページのパーソナル化スコープを、User から Shared に、または Shared から User に切り替えます。 |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | ApplyPersonalizationState | オーバーロードされます。 WebPartPersonalization のインスタンスに関連付けられた WebPartManager コントロール、または特定の WebPart のインスタンスのいずれかにパーソナル化データを適用します。 |
![]() | ChangeScope | 現在のページの PersonalizationScope インスタンスを、指定されたスコープに変更します。 |
![]() | CopyPersonalizationState | 1 つ目の Web パーツ コントロールからパーソナル化状態を抽出し、2 つ目の Web パーツ コントロールに適用します。 |
![]() | ExtractPersonalizationState | オーバーロードされます。 親の WebPartManager コントロールからパーソナル化データを抽出します。 |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | GetAuthorizationFilter | 指定された Web パーツ コントロールに関連付けられている場合は、承認フィルタを取得します。 |
![]() | Load | パーソナル化を初期化します。 |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
![]() | Save | 現在のページ、スコープ、およびユーザーのパーソナル化データを、基になるデータ ストアに保存します。 |
![]() | SetDirty | オーバーロードされます。 親の WebPartManager コントロールが、変更されている ("ダーティ" になった) パーソナル化データを保持しているとしてマークします。 |

- WebPartPersonalizationのページへのリンク