WebPartExportMode Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
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 WebPart.ExportMode della 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 trovato nella sezione Esempi della classe, ad eccezione del WebPart fatto che aggiunge un oggetto PersonalizableAttribute alla TextDisplayWebPart.ContentText
proprietà in modo che la proprietà possa essere esportata. Si noti che la dichiarazione dell'attributo include un valore di per il isSensitive
parametro, ovvero che la proprietà è contrassegnata come dati sensibili a scopo di true
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 dinamicamente in fase di esecuzione. In questo esempio di codice si presuppone che il codice sorgente venga compilato in un assembly, inserirlo in una sottocartella Bin dell'applicazione Web e fare 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
La seconda parte dell'esempio illustra 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 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 sulla proprietà del controllo.
Commenti
Un valore dell'enumerazione WebPartExportMode
WebPart.ExportMode può essere applicato alla proprietà per specificare quali proprietà da 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 <webParts>
all'interno della <system.web>
sezione, come nel markup seguente:
<webParts enableExport="true">
</webParts>