Partage via


WebPart.ExportMode Propriété

Définition

Obtient ou définit si toutes, certaines ou aucune des propriétés d’un WebPart contrôle ne peuvent être exportées.

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

Valeur de propriété

Une des WebPartExportMode valeurs. La valeur par défaut est None.

Attributs

Exceptions

La valeur spécifiée n’est pas l’une des WebPartExportMode valeurs.

Le contrôle est déjà chargé et l’étendue de personnalisation du contrôle est définie sur l’étendue User .

Exemples

L’exemple de code suivant illustre l’utilisation de la ExportMode propriété. Notez que pour que l’exemple de code d’exportation fonctionne, vous devez également mettre à jour votre fichier Web.config en ajoutant l’attribut enableExport="true" à l’élément <webParts> , comme indiqué dans la section Remarques.

La première partie de cet exemple contient le code d’un contrôle nommé TextDisplayWebPart. Ce contrôle est identique au contrôle personnalisé trouvé dans la section Exemple de la vue d’ensemble de la WebPart classe, sauf qu’il ajoute un Personalizable attribut à la TextDisplayWebPart.ContentText propriété afin que la propriété puisse être exportée. Notez que la déclaration d’attribut inclut une valeur pour true le isSensitive paramètre, ce qui signifie que la propriété est marquée comme des données sensibles à des fins d’exportation. Pour que l’exemple de code s’exécute, vous devez compiler ce code source. Vous pouvez le compiler explicitement et placer l’assembly résultant dans le dossier Bin de votre site web ou dans le Global Assembly Cache. Vous pouvez également placer le code source dans le dossier App_Code de votre site, où il sera compilé dynamiquement au moment de l’exécution. Cet exemple de code suppose que vous compilez le code source dans un assembly, placez-le dans un sous-dossier Bin de votre application web et référencez l’assembly avec une Register directive dans votre page Web. Pour obtenir une procédure pas à pas qui illustre les deux méthodes de compilation, consultez Procédure pas à pas : développement et utilisation d’un contrôle serveur web personnalisé.

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

La deuxième partie de l’exemple montre comment référencer le TextDisplayWebPart contrôle dans une page web ASP.NET. Notez que dans le balisage déclaratif, la valeur de propriété ExportMode est définie Allsur , ce qui signifie que même les propriétés avec des valeurs sensibles seront exportées.

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

Chargez la page Web dans un navigateur et, dans le menu verbes du WebPart contrôle, cliquez sur le verbe d’exportation et suivez les instructions pour exporter un fichier de description contenant les données d’état et de propriété du contrôle.

Remarques

Par défaut, un WebPart contrôle ne peut pas être exporté et sa ExportMode propriété est définie sur None. Pour activer l’exportation de toutes les propriétés du contrôle, définissez la ExportMode valeur Allsur . Pour exporter uniquement certaines propriétés tout en empêchant l’exportation des propriétés qui contiennent des données sensibles, vous définissez la valeur NonSensitiveDatade la propriété sur .

Pour exporter des descriptions de valeur de propriété pour un WebPart contrôle, les propriétés doivent également être marquées avec l’attribut Personalizable dans les métadonnées du code source de la propriété. Pour plus d’informations, consultez PersonalizableAttribute.

Note

Pour activer la fonctionnalité d’exportation d’une application web qui inclut des contrôles WebPart, dans le fichier Web.config de votre application, vous devez ajouter un attribut à l’élément <webParts> dans la <system.web> section, comme dans le balisage suivant.

<webParts enableExport="true">

</webParts>

Cette propriété ne peut pas être définie par des thèmes ou des thèmes de feuille de style. Pour plus d’informations, consultez ThemeableAttribute et ASP.NET Thèmes et peaux.

L’étendue de personnalisation de cette propriété est définie Shared et ne peut être modifiée que par les utilisateurs autorisés. Pour plus d’informations, consultez PersonalizableAttribute et Vue d’ensemble de la personnalisation des composants WebPart.

S’applique à

Voir aussi