WebPart.ExportMode Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft ab oder legt fest, ob alle, einige oder keine Eigenschaften eines WebPart-Steuerelements exportiert werden können.
public:
virtual property System::Web::UI::WebControls::WebParts::WebPartExportMode ExportMode { System::Web::UI::WebControls::WebParts::WebPartExportMode get(); void set(System::Web::UI::WebControls::WebParts::WebPartExportMode value); };
[System.Web.UI.Themeable(false)]
[System.Web.UI.WebControls.WebParts.Personalizable(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared)]
public virtual System.Web.UI.WebControls.WebParts.WebPartExportMode ExportMode { get; set; }
[<System.Web.UI.Themeable(false)>]
[<System.Web.UI.WebControls.WebParts.Personalizable(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared)>]
member this.ExportMode : System.Web.UI.WebControls.WebParts.WebPartExportMode with get, set
Public Overridable Property ExportMode As WebPartExportMode
Eigenschaftswert
Einer der WebPartExportMode-Werte. Der Standardwert ist None.
- Attribute
Ausnahmen
Der angegebene Wert ist keiner der WebPartExportMode-Werte.
Das Steuerelement wurde bereits geladen, und der Personalisierungsbereich des Steuerelements ist auf den User-Bereich festgelegt.
Beispiele
Im folgenden Codebeispiel wird die Verwendung des ExportMode-Attributs veranschaulicht. Beachten Sie, dass Sie auch Ihre Web.config-Datei aktualisieren müssen, damit das Exportcodebeispiel funktioniert, indem Sie dem <webParts>
-Element das -Attribut enableExport="true"
hinzufügen, wie im Abschnitt Hinweise angegeben.
Der erste Teil dieses Beispiels enthält den Code für ein Steuerelement namens TextDisplayWebPart
. Dieses Steuerelement ist identisch mit dem benutzerdefinierten Steuerelement, das sich im Abschnitt Beispiel der Klassenübersicht befindet, mit dem WebPart Unterschied, dass der Eigenschaft ein Personalizable
Attribut TextDisplayWebPart.ContentText
hinzugefügt wird, damit die Eigenschaft exportiert werden kann. Beachten Sie, dass die Attributdeklaration den Wert für true
den isSensitive
Parameter enthält, was bedeutet, dass die Eigenschaft für Exportzwecke als vertrauliche Daten gekennzeichnet ist. Damit das Codebeispiel ausgeführt werden kann, müssen Sie diesen Quellcode kompilieren. Sie können sie explizit kompilieren und die resultierende Assembly im Ordner Bin ihrer Website oder im globalen Assemblycache ablegen. Alternativ können Sie den Quellcode im Ordner App_Code Ihrer Website ablegen, wo er zur Laufzeit dynamisch kompiliert wird. In diesem Codebeispiel wird davon ausgegangen, dass Sie den Quellcode in eine Assembly kompilieren, ihn in einem Bin-Unterordner Ihrer Webanwendung platzieren und auf die Assembly mit einer Register
-Direktive auf ihrer Webseite verweisen. Eine exemplarische Vorgehensweise, die beide Kompilierungsmethoden veranschaulicht, finden Sie unter Exemplarische Vorgehensweise: Entwickeln und Verwenden eines benutzerdefinierten Webserversteuerelements.
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
Der zweite Teil des Beispiels zeigt, wie auf das TextDisplayWebPart
Steuerelement in einer ASP.NET Webseite verwiesen wird. Beachten Sie, dass im deklarativen Markup der ExportMode -Eigenschaftswert auf Allfestgelegt ist, was bedeutet, dass sogar Eigenschaften mit vertraulichen Werten exportiert werden.
<%@ 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>
Laden Sie die Webseite in einem Browser, und klicken Sie im Menü Verben des WebPart Steuerelements auf das Exportverb, und befolgen Sie die Anweisungen zum Exportieren einer Beschreibungsdatei mit den Zustands- und Eigenschaftsdaten des Steuerelements.
Hinweise
Standardmäßig kann ein WebPart Steuerelement nicht exportiert werden, und seine ExportMode -Eigenschaft ist auf Nonefestgelegt. Um das Exportieren aller Eigenschaften für das Steuerelement zu aktivieren, legen Sie den ExportMode Wert auf fest All. Um nur bestimmte Eigenschaften zu exportieren und gleichzeitig den Export von Eigenschaften zu verhindern, die vertrauliche Daten enthalten, legen Sie den Eigenschaftswert auf fest NonSensitiveData.
Um Eigenschaftenwertbeschreibungen für ein WebPart Steuerelement zu exportieren, müssen die Eigenschaften auch mit dem Personalizable
-Attribut in den Metadaten für den Quellcode der Eigenschaft gekennzeichnet werden. Ausführliche Informationen finden Sie unter PersonalizableAttribute.
Hinweis
Um das Exportfeature für eine Webanwendung zu aktivieren, die Webparts-Steuerelemente enthält, müssen Sie in der Web.config-Datei für Ihre Anwendung dem <webParts>
Element innerhalb des <system.web>
Abschnitts ein Attribut hinzufügen, wie im folgenden Markup.
<webParts enableExport="true">
</webParts>
Diese Eigenschaft kann nicht durch Designs oder Stylesheetdesigns festgelegt werden. Weitere Informationen finden Sie unter ThemeableAttribute und ASP.NET-Designs und Skins.
Der Personalisierungsbereich dieser Eigenschaft ist auf Shared festgelegt und kann nur von autorisierten Benutzern geändert werden. Weitere Informationen finden Sie unter PersonalizableAttribute und Übersicht über die Personalisierung von Webparts.