WebPartExportMode Énumération

Définition

Spécifie si toutes, certaines ou aucune des propriétés d'un contrôle WebPart peuvent être exportées.

public enum class WebPartExportMode
public enum WebPartExportMode
type WebPartExportMode = 
Public Enum WebPartExportMode
Héritage
WebPartExportMode

Champs

All 1

Toutes les propriétés d'un contrôle WebPart peuvent être exportées.

None 0

Aucune propriété d'un contrôle WebPart ne peut être exportée.

NonSensitiveData 2

Seules les propriétés d'un contrôle WebPart qui ont été définies comme non sensibles peuvent être exportées.

Exemples

L’exemple suivant illustre l’utilisation de la WebPart.ExportMode propriété. Notez que pour que l’exemple de code d’exportation fonctionne, vous devez également mettre à jour votre fichier Web.config, 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é qui se trouve dans la section Exemples de la WebPart classe, sauf qu’il ajoute une PersonalizableAttribute à 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 ExportMode 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

Une valeur de l’énumération WebPartExportMode peut être appliquée à la WebPart.ExportMode propriété pour spécifier les propriétés d’un contrôle composants WebPart pouvant être exportées. Par défaut, les propriétés d’un WebPart contrôle ne peuvent pas être exportées et la propriété du ExportMode contrôle 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 .

Une propriété peut être marquée comme sensible par le biais de l’attribut 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>

S’applique à

Voir aussi