WebPartExportMode Enumeración

Definición

Especifica si se pueden exportar todas, algunas o ninguna de las propiedades de un control WebPart.

public enum class WebPartExportMode
public enum WebPartExportMode
type WebPartExportMode = 
Public Enum WebPartExportMode
Herencia
WebPartExportMode

Campos

All 1

Se pueden exportar todas las propiedades de un control de elementos web.

None 0

No se puede exportar ninguna propiedad de un control de elementos web.

NonSensitiveData 2

Solo se pueden exportar las propiedades de un control de elementos web que se han definido como no confidenciales.

Ejemplos

En el ejemplo siguiente se muestra el uso de la WebPart.ExportMode propiedad . Tenga en cuenta que para que el ejemplo de código de exportación funcione, también debe actualizar el archivo Web.config, como se indica en la sección Comentarios .

La primera parte de este ejemplo contiene el código de un control denominado TextDisplayWebPart. Este control es el mismo que el control personalizado que se encuentra en la sección Ejemplos de la WebPart clase, excepto que agrega un PersonalizableAttribute elemento a la TextDisplayWebPart.ContentText propiedad para que se pueda exportar la propiedad. Tenga en cuenta que la declaración de atributo incluye un valor de true para el isSensitive parámetro , lo que significa que la propiedad se marca como datos confidenciales para fines de exportación. Para que se ejecute el ejemplo de código, debe compilar este código fuente. Puede compilarlo explícitamente y colocar el ensamblado resultante en la carpeta Bin del sitio web o en la caché global de ensamblados. Como alternativa, puede colocar el código fuente en la carpeta App_Code del sitio, donde se compilará dinámicamente en tiempo de ejecución. En este ejemplo de código se supone que se compila el código fuente en un ensamblado, se coloca en una subcarpeta Bin de la aplicación web y se hace referencia al ensamblado con una Register directiva en la página web. Para ver un tutorial que muestra ambos métodos de compilación, consulte Tutorial: Desarrollo y uso de un control de servidor web personalizado.

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 segunda parte del ejemplo muestra cómo hacer referencia al TextDisplayWebPart control en una página web de ASP.NET. Tenga en cuenta que, en el marcado declarativo, el valor de la ExportMode propiedad se establece en All, lo que significa que incluso las propiedades con valores confidenciales se exportarán.

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

Cargue la página web en un explorador y, en el menú verbos del ExportMode control, haga clic en el verbo de exportación y siga las instrucciones para exportar un archivo de descripción que contiene los datos de estado y propiedad del control.

Comentarios

Se puede aplicar un valor de la WebPartExportMode enumeración a la WebPart.ExportMode propiedad para especificar qué propiedades de un control de elementos web se pueden exportar. De forma predeterminada, las propiedades de un WebPart control no se pueden exportar y la propiedad del ExportMode control se establece en None. Para habilitar la exportación de todas las propiedades del control, establezca el ExportMode valor Allen . Para exportar solo determinadas propiedades al impedir la exportación de propiedades que contienen datos confidenciales, establezca el valor NonSensitiveDatade propiedad en .

Una propiedad se puede marcar como confidencial a través del PersonalizableAttribute atributo .

Nota

Para habilitar la característica de exportación de una aplicación web que incluye controles de elementos web, en el archivo Web.config de la aplicación, debe agregar un atributo al <webParts> elemento de la <system.web> sección, como en el marcado siguiente:

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

Se aplica a

Consulte también