WebPartExportMode 枚举

定义

指定 WebPart 控件的属性是可以全部导出、部分导出还是无法导出。Specifies whether all, some, or none of a WebPart control's properties can be exported.

public enum class WebPartExportMode
public enum WebPartExportMode
type WebPartExportMode = 
Public Enum WebPartExportMode
继承
WebPartExportMode

字段

All 1

Web 部件控件的所有属性都可以导出。All of a Web Parts control's properties can be exported.

None 0

无法导出 Web 部件控件的任何属性。None of a Web Parts control's properties can be exported.

NonSensitiveData 2

仅能导出 Web 部件控件的已定义为非敏感数据的属性。Only properties of a Web Parts control that have been defined as non-sensitive can be exported.

示例

下面的示例演示WebPart.ExportMode属性的用法。The following example demonstrates the use of the WebPart.ExportMode property. 请注意, 要使导出代码示例正常运行, 你还必须更新 Web.config 文件, 如 "备注" 部分所示。Note that for the export code example to work, you must also update your Web.config file, as indicated in the Remarks section.

此示例的第一部分包含名为TextDisplayWebPart的控件的代码。The first part of this example contains the code for a control named TextDisplayWebPart. 此控件与在WebPart类的 "示例" 部分中找到的自定义控件相同, 不同之处在于它TextDisplayWebPart.ContentText将添加PersonalizableAttribute到属性中, 以便可以导出属性。This control is the same as the custom control that is found in the Examples section of the WebPart class, except that it adds a PersonalizableAttribute to the TextDisplayWebPart.ContentText property so the property can be exported. 请注意, 属性声明中包含true isSensitive参数的值, 这意味着将属性标记为敏感数据以供导出。Note that the attribute declaration includes a value of true for the isSensitive parameter, meaning that the property is marked as sensitive data for export purposes. 要使代码示例运行, 必须编译此源代码。For the code example to run, you must compile this source code. 可以显式编译该程序集, 并将生成的程序集放在网站的 Bin 文件夹或全局程序集缓存中。You can compile it explicitly and put the resulting assembly in your Web site's Bin folder or the global assembly cache. 或者, 你可以将源代码放在站点的 App_Code 文件夹中, 在此文件夹中, 它将在运行时动态编译。Alternatively, you can put the source code in your site's App_Code folder, where it will be dynamically compiled at run time. 此代码示例假定您将源代码编译成一个程序集, 将其放在您的 web 应用程序的 Bin 子文件夹中, 并在您Register的网页中使用指令引用该程序集。This code example assumes that you compile the source code into an assembly, place it in a Bin subfolder of your Web application, and reference the assembly with a Register directive in your Web page. 有关演示两种编译方法的演练, 请参阅演练:开发和使用自定义 Web 服务器控件For a walkthrough that demonstrates both methods of compiling, see Walkthrough: Developing and Using a Custom Web Server Control.

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 

该示例的第二部分演示如何在 ASP.NET 网页TextDisplayWebPart中引用该控件。The second part of the example shows how to reference the TextDisplayWebPart control in an ASP.NET Web page. 请注意, 在声明性标记中ExportMode , 属性值设置为 "全部", 这意味着甚至将导出具有敏感值的属性。Note that in the declarative markup, the ExportMode property value is set to All, meaning that even properties with sensitive values will be exported.

<%@ 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>

在浏览器中加载网页, 并在ExportMode控件的谓词菜单上, 单击 "导出" 谓词, 然后按照说明导出包含控件状态和属性数据的描述文件。Load the Web page in a browser, and on the verbs menu of the ExportMode control, click the export verb and follow the instructions to export a description file containing the control's state and property data.

注解

WebPartExportMode枚举中的一个值可应用WebPart.ExportMode于属性, 以指定可以导出 Web 部件控件中的哪些属性。A value from the WebPartExportMode enumeration can be applied to the WebPart.ExportMode property to specify which properties from a Web Parts control can be exported. 默认情况下, 不能导出WebPart控件的属性, 并且会将控件的ExportMode属性设置为NoneBy default, the properties of a WebPart control cannot be exported, and the control's ExportMode property is set to None. 若要为控件启用导出所有属性, 请将ExportMode值设置All为。To enable exporting all properties for the control, set the ExportMode value to All. 若要仅导出某些属性, 同时禁止导出包含敏感数据的属性, 请将属性值设置为NonSensitiveDataTo export only certain properties while preventing the export of properties that contain sensitive data, you set the property value to NonSensitiveData.

可以通过PersonalizableAttribute属性将属性标记为敏感。A property can be marked as sensitive through the PersonalizableAttribute attribute.

备注

若要为包含 Web 部件控件的 web 应用程序启用导出功能, 请在应用程序的 web.config 文件中将特性添加到<webParts> <system.web>节中的元素, 如以下标记所示:To enable the export feature for a Web application that includes Web Parts controls, in the Web.config file for your application, you must add an attribute to the <webParts> element within the <system.web> section, as in the following markup:

<webParts enableExport="true">
</webParts>

适用于

另请参阅