WebPartExportMode Wyliczenie

Definicja

Określa, czy można wyeksportować wszystkie, niektóre lub żadne WebPart właściwości kontrolki.

public enum class WebPartExportMode
public enum WebPartExportMode
type WebPartExportMode = 
Public Enum WebPartExportMode
Dziedziczenie
WebPartExportMode

Pola

All 1

Wszystkie właściwości kontrolki składników Web Part można wyeksportować.

None 0

Nie można wyeksportować właściwości kontrolki składników Web Part.

NonSensitiveData 2

Można eksportować tylko właściwości kontrolki składników Web Part, które zostały zdefiniowane jako niewrażliwe.

Przykłady

W poniższym przykładzie pokazano użycie WebPart.ExportMode właściwości . Należy pamiętać, że aby przykładowy kod eksportu działał, należy również zaktualizować plik Web.config, jak wskazano w sekcji Uwagi .

Pierwsza część tego przykładu zawiera kod kontrolki o nazwie TextDisplayWebPart. Ta kontrolka jest taka sama jak kontrolka niestandardowa, która znajduje się w sekcjiWebPart Przykłady klasy, z tą różnicą, że dodaje PersonalizableAttribute element do TextDisplayWebPart.ContentText właściwości , aby można było wyeksportować właściwość . Należy pamiętać, że deklaracja atrybutu zawiera wartość true parametru isSensitive , co oznacza, że właściwość jest oznaczona jako poufne dane na potrzeby eksportu. Aby można było uruchomić przykładowy kod, należy skompilować ten kod źródłowy. Można je skompilować jawnie i umieścić wynikowy zestaw w folderze Bin witryny sieci Web lub globalnej pamięci podręcznej zestawów. Alternatywnie można umieścić kod źródłowy w folderze App_Code witryny, w którym będzie dynamicznie kompilowany w czasie wykonywania. W tym przykładzie kodu przyjęto założenie, że skompilujesz kod źródłowy do zestawu, umieścisz go w podfolderze Bin aplikacji internetowej i odwołujesz się do zestawu dyrektywą Register na stronie sieci Web. Aby zapoznać się z przewodnikiem, który demonstruje obie metody kompilowania, zobacz Przewodnik: opracowywanie i używanie niestandardowej kontrolki serwera sieci Web.

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

W drugiej części przykładu pokazano, jak odwoływać się do kontrolki TextDisplayWebPart na stronie internetowej ASP.NET. Należy pamiętać, że w adiustacji deklaratywnej ExportMode wartość właściwości jest ustawiona na Wartość Wszystkie, co oznacza, że zostaną wyeksportowane nawet właściwości z poufnymi wartościami.

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

Załaduj stronę internetową w przeglądarce, a następnie w menu ExportMode czasowników kontrolki kliknij czasownik eksportu i postępuj zgodnie z instrukcjami, aby wyeksportować plik opisu zawierający dane o stanie i właściwości kontrolki.

Uwagi

Wartość z WebPartExportMode wyliczenia można zastosować do właściwości w WebPart.ExportMode celu określenia, które właściwości z kontrolki składników Web Part można wyeksportować. Domyślnie nie można wyeksportować właściwości kontrolki WebPart , a właściwość kontrolki jest ustawiona ExportMode na Nonewartość . Aby włączyć eksportowanie wszystkich właściwości kontrolki, ustaw ExportMode wartość na All. Aby wyeksportować tylko niektóre właściwości, uniemożliwiając eksport właściwości zawierających poufne dane, należy ustawić wartość właściwości na NonSensitiveData.

Właściwość może być oznaczona jako wrażliwa za pomocą atrybutu PersonalizableAttribute .

Uwaga

Aby włączyć funkcję eksportowania dla aplikacji sieci Web, która zawiera kontrolki składników Web Part, w pliku Web.config aplikacji należy dodać atrybut do <webParts> elementu w <system.web> sekcji, jak w poniższym znaczniku:

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

Dotyczy

Zobacz też