WebPartExportMode Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica se todas, algumas ou nenhuma das propriedades de um controle WebPart podem ser exportadas.
public enum class WebPartExportMode
public enum WebPartExportMode
type WebPartExportMode =
Public Enum WebPartExportMode
- Herança
Campos
All | 1 | Todas as propriedades de um controle de Web Parts podem ser exportadas. |
None | 0 | Nenhuma das propriedades de um controle de Web Parts pode ser exportada. |
NonSensitiveData | 2 | Apenas as propriedades de um controle de Web Parts que foram definidas como não confidenciais podem ser exportadas. |
Exemplos
O exemplo a seguir demonstra o uso da WebPart.ExportMode propriedade . Observe que, para que o exemplo de código de exportação funcione, você também deve atualizar seu arquivo Web.config, conforme indicado na seção Comentários .
A primeira parte deste exemplo contém o código de um controle chamado TextDisplayWebPart
. Esse controle é o mesmo que o controle personalizado encontrado na seção Exemplos da WebPart classe , exceto que ele adiciona um PersonalizableAttribute à propriedade para TextDisplayWebPart.ContentText
que a propriedade possa ser exportada. Observe que a declaração de atributo inclui um valor de true
para o parâmetro , o isSensitive
que significa que a propriedade é marcada como dados confidenciais para fins de exportação. Para que o exemplo de código seja executado, você deve compilar esse código-fonte. Você pode compilá-lo explicitamente e colocar o assembly resultante na pasta Bin do seu site ou no cache de assembly global. Como alternativa, você pode colocar o código-fonte na pasta App_Code do site, em que ele será compilado dinamicamente em tempo de execução. Este exemplo de código pressupõe que você compile o código-fonte em um assembly, coloque-o em uma subpasta Bin do aplicativo Web e faça referência ao assembly com uma Register
diretiva em sua página da Web. Para obter um passo a passo que demonstre ambos os métodos de compilação, consulte Passo a passo: Desenvolvendo e usando um controle 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
A segunda parte do exemplo mostra como referenciar o TextDisplayWebPart
controle em uma página da Web ASP.NET. Observe que, na marcação declarativa, o valor da ExportMode propriedade é definido como Todos, o que significa que até mesmo propriedades com valores confidenciais serão exportadas.
<%@ 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>
Carregue a página da Web em um navegador e, no menu de verbos do ExportMode controle, clique no verbo de exportação e siga as instruções para exportar um arquivo de descrição que contém os dados de estado e propriedade do controle.
Comentários
Um valor da WebPartExportMode
enumeração pode ser aplicado à WebPart.ExportMode propriedade para especificar quais propriedades de um controle de Web Parts podem ser exportadas. Por padrão, as propriedades de um WebPart controle não podem ser exportadas e a propriedade do ExportMode controle é definida como None
. Para habilitar a exportação de todas as propriedades para o controle, defina o ExportMode valor como All
. Para exportar apenas determinadas propriedades, impedindo a exportação de propriedades que contêm dados confidenciais, defina o valor da propriedade como NonSensitiveData
.
Uma propriedade pode ser marcada como confidencial por meio do PersonalizableAttribute atributo .
Observação
Para habilitar o recurso de exportação para um aplicativo Web que inclui controles de Web Parts, no arquivo Web.config para seu aplicativo, você deve adicionar um atributo ao <webParts>
elemento dentro da <system.web>
seção, como na marcação a seguir:
<webParts enableExport="true">
</webParts>