WebPart.ExportMode Eigenschap

Definitie

Hiermee worden alle, sommige of geen van de eigenschappen van een WebPart besturingselement geëxporteerd of ingesteld.

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

Waarde van eigenschap

Een van de WebPartExportMode waarden. De standaardwaarde is None.

Kenmerken

Uitzonderingen

De opgegeven waarde is geen van de WebPartExportMode waarden.

Het besturingselement is al geladen en het persoonlijke bereik van het besturingselement is ingesteld op het User bereik.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe de ExportMode eigenschap wordt gebruikt. Houd er rekening mee dat voor het voorbeeld van de exportcode ook het Web.config-bestand moet worden bijgewerkt door het kenmerk enableExport="true" toe te voegen aan het <webParts> element, zoals aangegeven in de sectie Opmerkingen.

Het eerste deel van dit voorbeeld bevat de code voor een besturingselement met de naam TextDisplayWebPart. Dit besturingselement is hetzelfde als het aangepaste besturingselement dat wordt gevonden in de sectie Voorbeeld van het WebPart klasseoverzicht, behalve dat er een Personalizable kenmerk aan de TextDisplayWebPart.ContentText eigenschap wordt toegevoegd, zodat de eigenschap kan worden geëxporteerd. Houd er rekening mee dat de kenmerkdeclaratie een waarde true voor de isSensitive parameter bevat, wat betekent dat de eigenschap is gemarkeerd als gevoelige gegevens voor exportdoeleinden. Als u het codevoorbeeld wilt uitvoeren, moet u deze broncode compileren. U kunt deze expliciet compileren en de resulterende assembly in de map Bin van uw website of de globale assemblycache plaatsen. U kunt de broncode ook in de map App_Code van uw site plaatsen, waar deze dynamisch wordt gecompileerd tijdens runtime. In dit codevoorbeeld wordt ervan uitgegaan dat u de broncode compileert in een assembly, deze in een Bin-submap van uw webtoepassing plaatst en naar de assembly verwijst met een Register instructie op uw webpagina. Zie Walkthrough: Een aangepast webserverbeheer ontwikkelen en gebruiken voor een overzicht van beide methoden voor het compileren.

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

In het tweede deel van het voorbeeld ziet u hoe u naar het besturingselement TextDisplayWebPart in een ASP.NET webpagina verwijst. Houd er rekening mee dat in de declaratieve markering de ExportMode eigenschapswaarde is ingesteld op All, wat betekent dat zelfs eigenschappen met gevoelige waarden worden geëxporteerd.

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

Laad de webpagina in een browser en klik in het menu Werkwoorden van het WebPart besturingselement op het exportwerkwoord en volg de instructies om een beschrijvingsbestand met de status- en eigenschapsgegevens van het besturingselement te exporteren.

Opmerkingen

Een besturingselement kan standaard WebPart niet worden geëxporteerd en ExportMode de eigenschap ervan is ingesteld op None. Als u het exporteren van alle eigenschappen voor het besturingselement wilt inschakelen, stelt u de ExportMode waarde in op All. Als u alleen bepaalde eigenschappen wilt exporteren terwijl het exporteren van eigenschappen die gevoelige gegevens bevatten, wilt voorkomen, stelt u de eigenschapswaarde in op NonSensitiveData.

Als u beschrijvingen van eigenschapswaarden voor een WebPart besturingselement wilt exporteren, moeten de eigenschappen ook worden gemarkeerd met het Personalizable kenmerk in de metagegevens voor de broncode van de eigenschap. Zie PersonalizableAttributevoor meer informatie.

Note

Als u de exportfunctie wilt inschakelen voor een webtoepassing met besturingselementen voor webonderdelen, moet u in het Web.config-bestand voor uw toepassing een kenmerk toevoegen aan het <webParts> element in de <system.web> sectie, zoals in de volgende markeringen.

<webParts enableExport="true">

</webParts>

Deze eigenschap kan niet worden ingesteld op thema's of opmaakmodellen. Zie ThemeableAttribute en ASP.NET Thema's en skins voor meer informatie.

Het persoonlijke bereik van deze eigenschap is ingesteld op Shared en kan alleen worden gewijzigd door geautoriseerde gebruikers. Zie en Overzicht van persoonlijke instellingen voor webonderdelen voor meer informatiePersonalizableAttribute.

Van toepassing op

Zie ook