WebPart.ExportMode Propriété

Définition

Obtient ou définit si toutes, certaines ou aucune des propriétés d'un contrôle WebPart, 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é

WebPartExportMode

Une des valeurs de l'objet WebPartExportMode. La valeur par défaut est None.

Attributs

Exceptions

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

Le contrôle est déjà chargé et sa portée de personnalisation a la valeur de la portée 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 Notes.

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é qui se trouve dans la section Exemple de vue d’ensemble de WebPart la 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 du true 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 cache d’assembly global. 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 de 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 ExportMode valeur de propriété est définie sur All, 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 l’état et les données 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 de 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.

Notes

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

<webParts enableExport="true">

</webParts>

Cette propriété ne peut pas être définie par les thèmes ou les 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 peut être modifiée uniquement par les utilisateurs autorisés. Pour plus d’informations, consultez PersonalizableAttribute et composants WebPart vue d’ensemble de la personnalisation.

S’applique à

Voir aussi