WebPartExportMode Enumerazione

Definizione

Specifica se è possibile esportare tutte, alcune o nessuna delle proprietà di un controllo WebPart.

public enum class WebPartExportMode
public enum WebPartExportMode
type WebPartExportMode = 
Public Enum WebPartExportMode
Ereditarietà
WebPartExportMode

Campi

All 1

È possibile esportare tutte le proprietà di un controllo web part.

None 0

Non è possibile esportare alcuna proprietà di un controllo Web part.

NonSensitiveData 2

È possibile esportare solo le proprietà di un controllo Web part definite come non sensibili.

Esempio

Nell'esempio seguente viene illustrato l'uso della WebPart.ExportMode proprietà . Si noti che per il funzionamento dell'esempio di codice di esportazione, è necessario aggiornare anche il file di Web.config, come indicato nella sezione Osservazioni .

La prima parte di questo esempio contiene il codice per un controllo denominato TextDisplayWebPart. Questo controllo è lo stesso del controllo personalizzato presente nella sezione Esempi della WebPart classe , ad eccezione del fatto che aggiunge un PersonalizableAttribute oggetto alla TextDisplayWebPart.ContentText proprietà in modo che la proprietà possa essere esportata. Si noti che la dichiarazione dell'attributo include un valore di true per il isSensitive parametro , vale a dire che la proprietà è contrassegnata come dati sensibili a scopo di esportazione. Per eseguire l'esempio di codice, è necessario compilare questo codice sorgente. È possibile compilarlo in modo esplicito e inserire l'assembly risultante nella cartella Bin del sito Web o nella Global Assembly Cache. In alternativa, è possibile inserire il codice sorgente nella cartella App_Code del sito, in cui verrà compilato in modo dinamico in fase di esecuzione. In questo esempio di codice si presuppone che il codice sorgente venga compilato in un assembly, lo si inserisca in una sottocartella Bin dell'applicazione Web e si faccia riferimento all'assembly con una Register direttiva nella pagina Web. Per una procedura dettagliata che illustra entrambi i metodi di compilazione, vedere Procedura dettagliata: sviluppo e uso di un controllo server Web personalizzato.

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

Nella seconda parte dell'esempio viene illustrato come fare riferimento al TextDisplayWebPart controllo in una pagina Web ASP.NET. Si noti che nel markup dichiarativo il valore della ExportMode proprietà è impostato su All, ovvero anche le proprietà con valori sensibili verranno esportate.

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

Caricare la pagina Web in un browser e nel menu dei verbi del ExportMode controllo fare clic sul verbo di esportazione e seguire le istruzioni per esportare un file di descrizione contenente i dati sullo stato e sulle proprietà del controllo.

Commenti

Un valore dell'enumerazione WebPartExportMode può essere applicato alla WebPart.ExportMode proprietà per specificare quali proprietà di un controllo Web part possono essere esportate. Per impostazione predefinita, le proprietà di un WebPart controllo non possono essere esportate e la proprietà del ExportMode controllo è impostata su None. Per abilitare l'esportazione di tutte le proprietà per il controllo, impostare il ExportMode valore su All. Per esportare solo determinate proprietà impedendo l'esportazione di proprietà contenenti dati sensibili, impostare il valore della proprietà su NonSensitiveData.

Una proprietà può essere contrassegnata come sensibile tramite l'attributo PersonalizableAttribute .

Nota

Per abilitare la funzionalità di esportazione per un'applicazione Web che include controlli Web part, nel file di Web.config per l'applicazione è necessario aggiungere un attributo all'elemento all'interno <webParts> della <system.web> sezione, come nel markup seguente:

<webParts enableExport="true">
</webParts>

Si applica a

Vedi anche