WebPart.ExportMode Eigenschaft

Definition

Ruft ab oder legt fest, ob alle, einige oder keine Eigenschaften eines WebPart-Steuerelements exportiert werden können.

public:
 virtual property System::Web::UI::WebControls::WebParts::WebPartExportMode ExportMode { System::Web::UI::WebControls::WebParts::WebPartExportMode get(); void set(System::Web::UI::WebControls::WebParts::WebPartExportMode value); };
[System.Web.UI.Themeable(false)]
[System.Web.UI.WebControls.WebParts.Personalizable(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared)]
public virtual System.Web.UI.WebControls.WebParts.WebPartExportMode ExportMode { get; set; }
[<System.Web.UI.Themeable(false)>]
[<System.Web.UI.WebControls.WebParts.Personalizable(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared)>]
member this.ExportMode : System.Web.UI.WebControls.WebParts.WebPartExportMode with get, set
Public Overridable Property ExportMode As WebPartExportMode

Eigenschaftswert

Einer der WebPartExportMode-Werte. Der Standardwert ist None.

Attribute

Ausnahmen

Der angegebene Wert ist keiner der WebPartExportMode-Werte.

Das Steuerelement wurde bereits geladen, und der Personalisierungsbereich des Steuerelements ist auf den User-Bereich festgelegt.

Beispiele

Im folgenden Codebeispiel wird die Verwendung des ExportMode-Attributs veranschaulicht. Beachten Sie, dass Sie auch Ihre Web.config-Datei aktualisieren müssen, damit das Exportcodebeispiel funktioniert, indem Sie dem <webParts> -Element das -Attribut enableExport="true" hinzufügen, wie im Abschnitt Hinweise angegeben.

Der erste Teil dieses Beispiels enthält den Code für ein Steuerelement namens TextDisplayWebPart. Dieses Steuerelement ist identisch mit dem benutzerdefinierten Steuerelement, das sich im Abschnitt Beispiel der Klassenübersicht befindet, mit dem WebPart Unterschied, dass der Eigenschaft ein Personalizable Attribut TextDisplayWebPart.ContentText hinzugefügt wird, damit die Eigenschaft exportiert werden kann. Beachten Sie, dass die Attributdeklaration den Wert für true den isSensitive Parameter enthält, was bedeutet, dass die Eigenschaft für Exportzwecke als vertrauliche Daten gekennzeichnet ist. Damit das Codebeispiel ausgeführt werden kann, müssen Sie diesen Quellcode kompilieren. Sie können sie explizit kompilieren und die resultierende Assembly im Ordner Bin ihrer Website oder im globalen Assemblycache ablegen. Alternativ können Sie den Quellcode im Ordner App_Code Ihrer Website ablegen, wo er zur Laufzeit dynamisch kompiliert wird. In diesem Codebeispiel wird davon ausgegangen, dass Sie den Quellcode in eine Assembly kompilieren, ihn in einem Bin-Unterordner Ihrer Webanwendung ablegen und auf die Assembly mit einer Register -Direktive in Ihrer Webseite verweisen. Eine exemplarische Vorgehensweise, die beide Kompilierungsmethoden veranschaulicht, finden Sie unter Exemplarische Vorgehensweise: Entwickeln und Verwenden eines benutzerdefinierten Webserversteuerelements.

using System;
using System.Security.Permissions;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

namespace Samples.AspNet.CS.Controls
{
  [AspNetHostingPermission(SecurityAction.Demand, 
    Level=AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand, 
    Level=AspNetHostingPermissionLevel.Minimal)]
  public class TextDisplayWebPart : WebPart
  {
    private String _contentText = null;
    TextBox input;
    Label DisplayContent;
    const string _subTitle = "Contoso, Ltd";

    public TextDisplayWebPart()
    {
      this.AllowClose = false;
    }

    [
      Personalizable(PersonalizationScope.User, true),
      WebBrowsable()
    ]
    public String ContentText
    {
      get { return _contentText; }
      set { _contentText = value; }
    }

    protected override void CreateChildControls()
    {
      Controls.Clear();
      DisplayContent = new Label();
      DisplayContent.BackColor = 
        System.Drawing.Color.LightBlue;
      DisplayContent.Text = this.ContentText;
      this.Controls.Add(DisplayContent);
      input = new TextBox();
      this.Controls.Add(input);
      Button update = new Button();
      update.Text = "Set Label Content";
      update.Click += new EventHandler(this.submit_Click);
      this.Controls.Add(update);
      ChildControlsCreated = true;
    }

    private void submit_Click(object sender, EventArgs e)
    {
      // Update the label string.
      if (!string.IsNullOrEmpty(input.Text))
      {
        _contentText = input.Text + @"<br />";
        input.Text = String.Empty;
        DisplayContent.Text = this.ContentText;
      }
    }
  }
}
Imports System.Security.Permissions 
Imports System.Web
Imports System.Web.UI.WebControls 
Imports System.Web.UI.WebControls.WebParts

Namespace Samples.AspNet.VB.Controls

<AspNetHostingPermission(SecurityAction.Demand, _ 
  Level := AspNetHostingPermissionLevel.Minimal)> _ 
<AspNetHostingPermission(SecurityAction.InheritanceDemand, _
  Level := AspNetHostingPermissionLevel.Minimal)> _ 
Public Class TextDisplayWebPart 
  Inherits WebPart
  Private _contentText As String = Nothing
  Private input As TextBox
  Private DisplayContent As Label 
  Private Const _subTitle as String = "Contoso, Ltd"
  
  
  Public Sub New()  
    Me.AllowClose = False 
  End Sub 
  
  <Personalizable(PersonalizationScope.User, True), _
   WebBrowsable()>  _ 
  Public Property ContentText() As String 
    Get 
      Return _contentText 
    End Get 
    Set 
      _contentText = value
    End Set 
  End Property
    
  Protected Overrides Sub CreateChildControls() 
    Controls.Clear()
    DisplayContent = New Label()
    DisplayContent.Text = Me.ContentText
    DisplayContent.BackColor = _
      System.Drawing.Color.LightBlue
    Me.Controls.Add(DisplayContent) 
    input = New TextBox() 
    Me.Controls.Add(input)
    Dim update As New Button()
    update.Text = "Set Label Content" 
    AddHandler update.Click, AddressOf Me.submit_Click
    Me.Controls.Add(update) 
    ChildControlsCreated = True 
  
  End Sub 

  Private Sub submit_Click(ByVal sender As Object, _
                           ByVal e As EventArgs)  
    ' Update the label string.
    If input.Text <> String.Empty Then
      _contentText = input.Text & "<br />"
      input.Text = String.Empty 
      DisplayContent.Text = Me.ContentText
    End If
  
  End Sub 
  
End Class 

End Namespace

Der zweite Teil des Beispiels zeigt, wie auf das TextDisplayWebPart Steuerelement in einer ASP.NET Webseite verwiesen wird. Beachten Sie, dass im deklarativen Markup der ExportMode -Eigenschaftswert auf Allfestgelegt ist, was bedeutet, dass sogar Eigenschaften mit vertraulichen Werten exportiert werden.

<%@ page language="C#" %>
<%@ register tagprefix="aspSample" 
             Namespace="Samples.AspNet.CS.Controls" 
             Assembly="TextDisplayWebPartCS"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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">
    <asp:webpartmanager id="WebPartManager1" runat="server" />
    <asp:webpartzone
      id="WebPartZone1"
      runat="server"
      title="Zone 1"
      PartChromeType="TitleAndBorder">
        <parttitlestyle font-bold="true" ForeColor="#3300cc" />
        <partstyle
          borderwidth="1px"   
          borderstyle="Solid"  
          bordercolor="#81AAF2" />
        <zonetemplate>
          <aspSample:TextDisplayWebPart 
            runat="server"   
            id="textwebpart" 
            title = "Text WebPart" 
            ExportMode="All" 
            />
        </zonetemplate>
    </asp:webpartzone>
    <br />
  </form>
</body>
</html>
<%@ page language="VB" %>
<%@ register tagprefix="aspSample" 
             Namespace="Samples.AspNet.VB.Controls" 
             Assembly="TextDisplayWebPartVB"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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">
    <asp:webpartmanager id="WebPartManager1" runat="server" />
    <asp:webpartzone
      id="WebPartZone1"
      runat="server"
      title="Zone 1"
      PartChromeType="TitleAndBorder">
        <parttitlestyle font-bold="true" ForeColor="#3300cc" />
        <partstyle
          borderwidth="1px"   
          borderstyle="Solid"  
          bordercolor="#81AAF2" />
        <zonetemplate>
          <aspSample:TextDisplayWebPart 
            runat="server"   
            id="textwebpart" 
            title = "Text WebPart" 
            ExportMode="All" 
            />
        </zonetemplate>
    </asp:webpartzone>
    <br />
  </form>
</body>
</html>

Laden Sie die Webseite in einem Browser, und klicken Sie im Menü Verben des WebPart Steuerelements auf das Exportverb, und befolgen Sie die Anweisungen zum Exportieren einer Beschreibungsdatei mit den Zustands- und Eigenschaftsdaten des Steuerelements.

Hinweise

Standardmäßig kann ein WebPart Steuerelement nicht exportiert werden, und seine ExportMode -Eigenschaft ist auf Nonefestgelegt. Um das Exportieren aller Eigenschaften für das Steuerelement zu aktivieren, legen Sie den ExportMode Wert auf fest All. Um nur bestimmte Eigenschaften zu exportieren und gleichzeitig den Export von Eigenschaften zu verhindern, die vertrauliche Daten enthalten, legen Sie den Eigenschaftswert auf fest NonSensitiveData.

Um Eigenschaftenwertbeschreibungen für ein WebPart Steuerelement zu exportieren, müssen die Eigenschaften auch mit dem Personalizable -Attribut in den Metadaten für den Quellcode der Eigenschaft gekennzeichnet werden. Ausführliche Informationen finden Sie unter PersonalizableAttribute.

Hinweis

Um das Exportfeature für eine Webanwendung zu aktivieren, die Webparts-Steuerelemente enthält, müssen Sie in der Web.config-Datei für Ihre Anwendung dem <webParts> Element innerhalb des <system.web> Abschnitts ein Attribut hinzufügen, wie im folgenden Markup dargestellt.

<webParts enableExport="true">

</webParts>

Diese Eigenschaft kann nicht durch Designs oder Stylesheetdesigns festgelegt werden. Weitere Informationen finden Sie unter ThemeableAttribute und ASP.NET-Designs und Skins.

Der Personalisierungsbereich dieser Eigenschaft ist auf Shared festgelegt und kann nur von autorisierten Benutzern geändert werden. Weitere Informationen finden Sie unter PersonalizableAttribute und Übersicht über die Personalisierung von Webparts.

Gilt für:

Weitere Informationen