WebPartManager.Personalization 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
웹 페이지의 개인 설정 데이터가 들어 있는 개체에 대한 참조를 가져옵니다.
public:
property System::Web::UI::WebControls::WebParts::WebPartPersonalization ^ Personalization { System::Web::UI::WebControls::WebParts::WebPartPersonalization ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.WebParts.WebPartPersonalization Personalization { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.Personalization : System.Web.UI.WebControls.WebParts.WebPartPersonalization
Public ReadOnly Property Personalization As WebPartPersonalization
속성 값
개인 설정 데이터가 들어 있는 WebPartPersonalization입니다.
- 특성
예제
다음 코드 예제를 사용 하는 방법을 보여 줍니다는 Personalization 프로그래밍 방식으로 속성입니다.
다음 웹 페이지에서는 사용자가 편집 모드로 전환하여 컨트롤의 Calendar 특정 측면을 편집할 수 있습니다.
범위 설정/해제 단추는 페이지를 사용자 또는 공유 개인 설정 범위로 전환합니다.
편집 모드 및 찾아보기 모드 단추는 각각 페이지를 적절한 표시 모드로 전환합니다. 파일의 <script>
태그 섹션에서 이벤트를 처리하는 두 메서드는 속성을 사용하여 Personalization 기본 개체의 유용한 멤버에 액세스합니다. 특히 이러한 메서드는 메서드와 Scope 속성을 통해 액세스하는 개체의 Personalization 속성을 사용합니다ToggleScope.
<%@ 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">
protected void Button1_Click(object sender, EventArgs e)
{
if ((mgr1.Personalization.Scope == PersonalizationScope.User)
&& (mgr1.Personalization.CanEnterSharedScope))
{
mgr1.Personalization.ToggleScope();
}
else if (mgr1.Personalization.Scope ==
PersonalizationScope.Shared)
{
mgr1.Personalization.ToggleScope();
}
else
{
// If the user cannot enter shared scope you may want
// to notify them on the page.
}
}
protected void Button2_Click(object sender, EventArgs e)
{
mgr1.DisplayMode = WebPartManager.EditDisplayMode;
}
protected void Button3_Click(object sender, EventArgs e)
{
mgr1.DisplayMode = WebPartManager.BrowseDisplayMode;
}
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = "Scope is: "
+ mgr1.Personalization.Scope.ToString();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="mgr1" runat="server" />
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:Calendar ID="Calendar1" runat="server" />
</ZoneTemplate>
</asp:WebPartZone>
<asp:EditorZone ID="EditorZone1" runat="server">
<ZoneTemplate>
<asp:AppearanceEditorPart ID="AppearanceEditorPart1"
runat="server" />
<asp:BehaviorEditorPart ID="BehaviorEditorPart1"
runat="server" />
</ZoneTemplate>
</asp:EditorZone>
<hr />
<asp:Button ID="Button1" runat="server" Text="Toggle Scope" OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="Edit Mode" OnClick="Button2_Click" />
<asp:Button ID="Button3" runat="server" Text="Browse Mode" OnClick="Button3_Click" />
<br />
<asp:Label ID="Label1" runat="server" Text="" />
</div>
</form>
</body>
</html>
<%@ Page Language="vb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
If mgr1.Personalization.Scope = PersonalizationScope.User _
AndAlso mgr1.Personalization.CanEnterSharedScope Then
mgr1.Personalization.ToggleScope()
ElseIf mgr1.Personalization.Scope = _
PersonalizationScope.Shared Then
mgr1.Personalization.ToggleScope()
Else
' If the user cannot enter shared scope you may want
' to notify them on the page.
End If
End Sub
Protected Sub Button2_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
mgr1.DisplayMode = WebPartManager.EditDisplayMode
End Sub
Protected Sub Button3_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
mgr1.DisplayMode = WebPartManager.BrowseDisplayMode
End Sub
Protected Sub Page_Load(ByVal sender As Object, _
ByVal e As System.EventArgs)
Label1.Text = "Scope is: " & mgr1.Personalization.Scope.ToString()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="mgr1" runat="server" />
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:Calendar ID="Calendar1" runat="server" />
</ZoneTemplate>
</asp:WebPartZone>
<asp:EditorZone ID="EditorZone1" runat="server">
<ZoneTemplate>
<asp:AppearanceEditorPart ID="AppearanceEditorPart1"
runat="server" />
<asp:BehaviorEditorPart ID="BehaviorEditorPart1"
runat="server" />
</ZoneTemplate>
</asp:EditorZone>
<hr />
<asp:Button ID="Button1" runat="server" Text="Toggle Scope" OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="Edit Mode" OnClick="Button2_Click" />
<asp:Button ID="Button3" runat="server" Text="Browse Mode" OnClick="Button3_Click" />
<br />
<asp:Label ID="Label1" runat="server" Text="" />
</div>
</form>
</body>
</html>
코드 예제를 실행하려면 사용자 또는 사용자가 공유 범위의 페이지를 개인 설정하도록 설정해야 합니다. 섹션 내 <system.web>
의 Web.config 파일에 다음 태그와 같은 항목을 추가합니다.
<webParts>
<personalization>
<authorization>
<allow
users="[Replace the text and brackets with a user name or
group.]"
roles="admin"
verbs="enterSharedScope" />
</authorization>
</personalization>
</webParts>
브라우저에서 페이지를 로드한 후 범위 설정/해제 단추를 클릭하고 이제 페이지에 범위가 공유됨을 알 수 있습니다. 모드 편집 을 클릭하여 표시 모드를 변경하고, 표시되는 컨트롤에서 동사 메뉴를 클릭한 다음, 메뉴에서 편집 을 선택합니다. 두 편집 컨트롤에 대한 UI(사용자 인터페이스)가 나타납니다. 이제 찾아보기 모드 를 클릭하여 일반 검색으로 돌아갑니다. 페이지가 공유 범위에 있다고 표시되면 범위를 다시 설정/해제 를 클릭하여 페이지가 사용자 범위에 있는지 확인합니다. 다음으로, 동일한 단계에 따라 컨트롤을 다시 편집하지만 이제 편집 UI에서 컨트롤이 BehaviorEditorPart 표시되지 않습니다. 이 컨트롤은 페이지가 공유 개인 설정 범위에 있을 때만 작동하기 때문입니다.
설명
속성은 Personalization 컨트롤을 통해 WebPartManager 페이지와 연결된 개체에 액세스 WebPartPersonalization 하는 방법을 제공합니다. 이 속성을 사용하면 개인 설정 개체의 다양한 멤버에 액세스할 수 있습니다. 예를 들어 메서드를 ToggleScope 사용하여 페이지의 개인 설정 범위를 공유에서 사용자 범위로 전환하거나 그 반대로 전환할 수 있습니다. 페이지의 현재 개인 설정 범위, 페이지에서 개인 설정도 사용할 수 있는지 여부, 개인 설정 데이터에 사용되는 공급자 등을 확인할 수도 있습니다.
속성에서 참조하는 Personalization 데이터는 컨트롤에서 추적하는 WebPartManager 페이지 수준 개인 설정 데이터일 뿐입니다. 컨트롤의 개인 설정 가능한 속성 WebPart 값과 같은 컨트롤별 개인 설정 데이터는 속성의 Personalization 일부가 아닙니다.
참고
웹 파트 개인 설정에 대한 자세한 내용은 웹 파트 개인 설정 개요를 참조하세요.
적용 대상
추가 정보
.NET