WebPartExportMode Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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 All
en . Para exportar solo determinadas propiedades al impedir la exportación de propiedades que contienen datos confidenciales, establezca el valor NonSensitiveData
de 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>