WebPartManager.Personalization Özellik

Tanım

Web sayfası için kişiselleştirme verileri içeren bir nesneye başvuru alır.

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

Özellik Değeri

WebPartPersonalization

WebPartPersonalization Kişiselleştirme verilerini içeren bir.

Öznitelikler

Örnekler

Aşağıdaki kod örneği, özelliğinin Personalization program aracılığıyla nasıl kullanılacağını gösterir.

Aşağıdaki Web sayfası, kullanıcının denetimin belirli yönlerini Calendar düzenlemek için düzenleme moduna girmesini sağlar. Kapsamı Değiştir düğmesi, sayfayı kullanıcı veya paylaşılan kişiselleştirme kapsamına değiştirir. Düzenleme Modu ve Gözatma Modu düğmelerinin her birinde sayfayı uygun görüntüleme moduna geçirir. <script> Dosyanın etiket bölümünde, olayları işleyen yöntemlerden ikisinin temel alınan nesnenin yararlı üyelerine erişmek için özelliğini kullandığına Personalization dikkat edin. Özellikle, bu yöntemler özelliği aracılığıyla Personalization erişilen nesnede yöntemini ve Scope özelliğini kullanırToggleScope.

<%@ 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>

Kod örneğinin çalışması için, bir kullanıcının veya kullanıcıların paylaşılan kapsamdaki sayfaları kişiselleştirmesini de etkinleştirmeniz gerekir. bölümü içindeki <system.web> Web.config dosyasına aşağıdaki işaretlemeye benzeyen bir girdi ekleyin.

<webParts>  
  <personalization>  
    <authorization>  
      <allow  
        users="[Replace the text and brackets with a user name or   
           group.]"  
        roles="admin"   
        verbs="enterSharedScope"  />  
    </authorization>  
  </personalization>  
</webParts>   

Sayfayı bir tarayıcıda yükledikten sonra Kapsamı Değiştir düğmesine tıklayın ve sayfanın artık kapsamın paylaşıldığını belirttiğine dikkat edin. Görüntüleme modunu değiştirmek için Düzenleme Modu'na tıklayın, görünür denetimde fiiller menüsüne tıklayın ve menüden Düzenle'yi seçin. Her iki düzenleme denetimi için kullanıcı arabiriminin (UI) göründüğüne dikkat edin. Şimdi Gözatma Modu'na tıklayarak normal taramaya dönün. Sayfa paylaşılan kapsamda olduğunu söylüyorsa, sayfanın kullanıcı kapsamında olduğundan emin olmak için Kapsamı Değiştir'e yeniden tıklayın. Ardından, denetimi yeniden düzenlemek için aynı adımları izleyin, ancak artık düzenleme kullanıcı arabiriminde denetimin BehaviorEditorPart görünmediğini göreceksiniz. Bunun nedeni, bu denetimin yalnızca sayfa paylaşılan kişiselleştirme kapsamında olduğunda çalışmasıdır.

Açıklamalar

özelliği, Personalization denetim aracılığıyla WebPartManager bir sayfayla ilişkili nesneye erişmek WebPartPersonalization için bir yol sağlar. Bu özelliği kullanarak kişiselleştirme nesnesinin çeşitli üyelerine erişebilirsiniz. Örneğin, sayfanın kişiselleştirme kapsamını paylaşılandan kullanıcı kapsamına (veya tam tersi) değiştirmek için yöntemini kullanabilirsiniz ToggleScope . Ayrıca sayfanın geçerli kişiselleştirme kapsamını, sayfada kişiselleştirmenin etkinleştirilip etkinleştirilmediğini, kişiselleştirme verileri için hangi sağlayıcının kullanıldığını ve daha fazlasını da öğrenebilirsiniz.

özelliği tarafından Personalization başvuruda bulunan verilerin yalnızca denetim tarafından WebPartManager izlenen sayfa düzeyinde kişiselleştirme verileri olduğunu unutmayın. Denetimlerdeki kişiselleştirilebilir özelliklerin WebPart değerleri gibi denetime özgü kişiselleştirme verileri özelliğin Personalization bir parçası değildir.

Not

Web Bölümleri kişiselleştirme hakkında daha fazla bilgi için bkz. Kişiselleştirmeye Genel Bakış Web Bölümleri.

Şunlara uygulanır

Ayrıca bkz.