WebPart.ExportMode Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает, можно ли экспортировать все, некоторые или ни один из WebPart свойств элемента управления.
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
Значение свойства
Одно из значений WebPartExportMode . Значение по умолчанию — None.
- Атрибуты
Исключения
Указанное значение не является одним из значений WebPartExportMode .
Элемент управления уже загружен, а область персонализации элемента управления устанавливается в User область.
Примеры
В следующем примере кода показано использование ExportMode свойства. Обратите внимание, что для примера кода экспорта необходимо также обновить файл Web.config, добавив атрибут enableExport="true" в <webParts> элемент, как указано в разделе "Примечания".
Первая часть этого примера содержит код для элемента управления с именем TextDisplayWebPart. Этот элемент управления совпадает с пользовательским элементом управления, найденным в разделе WebPart "Пример" обзора класса, за исключением того, что он добавляет Personalizable атрибут в TextDisplayWebPart.ContentText свойство, чтобы свойство можно было экспортировать. Обратите внимание, что объявление атрибута содержит значение true параметра isSensitive , то есть свойство помечается как конфиденциальные данные для экспорта. Для запуска примера кода необходимо скомпилировать этот исходный код. Вы можете скомпилировать его явным образом и поместить полученную сборку в папку bin веб-сайта или глобальный кэш сборок. Кроме того, исходный код можно поместить в папку App_Code сайта, где он будет динамически скомпилирован во время выполнения. В этом примере кода предполагается, что вы компилируете исходный код в сборку, помещаете его в вложенную папку веб-приложения и ссылаетесь на сборку с директивой Register на веб-странице. Пошаговое руководство, демонстрирующее оба метода компиляции, см. в пошаговом руководстве по разработке и использованию пользовательского веб-сервера.
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
Вторая часть примера показывает, как ссылаться на TextDisplayWebPart элемент управления на веб-странице ASP.NET. Обратите внимание, ExportMode что в декларативной разметке задано Allзначение свойства, то есть даже свойства с конфиденциальными значениями будут экспортированы.
<%@ 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>
Загрузите веб-страницу в браузере и в меню WebPart команд элемента управления щелкните команду экспорта и следуйте инструкциям, чтобы экспортировать файл описания, содержащий данные о состоянии и свойств элемента управления.
Комментарии
По умолчанию WebPart элемент управления не может быть экспортирован, а его ExportMode свойство имеет значение None. Чтобы включить экспорт всех свойств элемента управления, задайте ExportMode для этого значения значение All. Чтобы экспортировать только определенные свойства, предотвращая экспорт свойств, содержащих конфиденциальные данные, задайте для свойства значение NonSensitiveData.
Чтобы экспортировать описания значений WebPart свойств для элемента управления, свойства также должны быть помечены Personalizable атрибутом в метаданных исходного кода свойства. Дополнительные сведения см. в PersonalizableAttribute.
Замечание
Чтобы включить функцию экспорта для веб-приложения, включающую элементы управления веб-частями, в файле Web.config приложения необходимо добавить атрибут <webParts> в элемент в <system.web> разделе, как показано в следующей разметке.
<webParts enableExport="true">
</webParts>
Это свойство не может быть задано темами или темами таблицы стилей. Дополнительные сведения см. в статье ThemeableAttributeи ASP.NET темы и скины.
Область персонализации этого свойства задана Shared и может быть изменена только авторизованными пользователями. Дополнительные сведения см. в разделе PersonalizableAttribute " Обзор персонализации веб-частей".