IWebEditable Schnittstelle

Definition

Stellt eine Schnittstelle bereit, mit deren Hilfe Entwickler benutzerdefinierte Bearbeitungssteuerelemente angeben können, die einem WebPart-Steuerelement zugeordnet sind.Provides an interface for developers to specify custom editing controls that are associated with a WebPart control.

public interface class IWebEditable
public interface IWebEditable
type IWebEditable = interface
Public Interface IWebEditable
Abgeleitet

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die Methoden der- IWebEditable Schnittstelle in einem WebPart benutzerdefinierten Steuerelement überschrieben werden, das dann EditorPart eine Instanz eines WebPart benutzerdefinierten Steuer Elements erstellt, wenn das Steuerelement in den Bearbeitungsmodus wechselt.The following code example demonstrates how to override the methods of the IWebEditable interface in a custom WebPart control, which then creates an instance of a custom EditorPart control when the WebPart control enters edit mode.

Dieses Beispiel besteht aus vier Teilen:This example has four parts:

  • Der Code für die benutzerdefinierte Klasse.The code for the custom class.

  • Die Webseite, die das benutzerdefinierte Steuerelement hostet.The Web page that hosts the custom control.

  • Ein Benutzer Steuerelement, das die Seite in den Bearbeitungsmodus wechselt.A user control that switches the page into edit mode.

  • Eine Beschreibung, wie das Beispiel in einem Browser funktioniert.A description of how the example works in a browser.

Der erste Teil des Code Beispiels ist die benutzerdefinierte TextDisplayWebPart -Klasse.The first part of the code example is the custom TextDisplayWebPart class. Beachten Sie, dass die-Klasse WebPart von der-Klasse IWebEditable abgeleitet ist und die-Schnittstelle CreateEditorParts implementiert und bestimmte WebBrowsableObject Implementierungen für die-Methode und die-Eigenschaft bereitstelltNotice that the class derives from the WebPart class and implements the IWebEditable interface, providing specific implementations for the CreateEditorParts method and the WebBrowsableObject property. Beachten Sie auch, dass in der TextDisplayWebPart -Klasse geschachtelt eine TextDisplayEditorPart private, benutzerdefinierte Klasse ist EditorPart , die von der-Basisklasse abgeleitet wird.Notice also that nested within the TextDisplayWebPart class is a private, custom TextDisplayEditorPart class that derives from the base EditorPart class. Damit das Codebeispiel ausgeführt werden kann, müssen Sie diesen Quellcode kompilieren.For the code example to run, you must compile this source code. Sie können Sie explizit kompilieren und die resultierende Assembly in den bin-Ordner der Website oder in den globalen Assemblycache einfügen.You can compile it explicitly and put the resulting assembly in your Web site's Bin folder or the global assembly cache. Alternativ dazu können Sie den Quellcode in den Ordner "App_Code" der Website einfügen, wo er zur Laufzeit dynamisch kompiliert wird.Alternatively, you can put the source code in your site's App_Code folder, where it will be dynamically compiled at run time. Eine exemplarische Vorgehensweise, die beide Kompilierungs Methoden veranschaulicht , finden Sie unter Exemplarische Vorgehensweise: Entwickeln und Verwenden eines benutzerdefinierten Webserver-Steuer Elements.For a walkthrough that demonstrates both methods of compiling, see Walkthrough: Developing and Using a Custom Web Server Control.

using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
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;
    private String _fontStyle = null;
    TextBox input;
    Label DisplayContent;
    Literal lineBreak;

    public override EditorPartCollection CreateEditorParts()
    {
      ArrayList editorArray = new ArrayList();
      TextDisplayEditorPart edPart = new TextDisplayEditorPart();
      edPart.ID = this.ID + "_editorPart1";
      editorArray.Add(edPart);
      EditorPartCollection editorParts = 
        new EditorPartCollection(editorArray);
      return editorParts;
    }

    public override object WebBrowsableObject
    {
      get { return this; }
    }

    [Personalizable(), WebBrowsable]
    public String ContentText
    {
      get { return _contentText; }
      set { _contentText = value; }
    }

    [Personalizable(), WebBrowsable()]
    public String FontStyle
    {
      get { return _fontStyle; }
      set { _fontStyle = value; }
    }

    protected override void CreateChildControls()
    {
      Controls.Clear();
      DisplayContent = new Label();
      DisplayContent.BackColor = Color.LightBlue;
      DisplayContent.Text = this.ContentText;
      if (FontStyle == null)
        FontStyle = "None";
      SetFontStyle(DisplayContent, FontStyle);
      this.Controls.Add(DisplayContent);

      lineBreak = new Literal();
      lineBreak.Text = @"<br />";
      Controls.Add(lineBreak);

      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);
    }

    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;
      }
    }

    private void SetFontStyle(Label label, String selectedStyle)
    {
      if (selectedStyle == "Bold")
      {
        label.Font.Bold = true;
        label.Font.Italic = false;
        label.Font.Underline = false;
      }
      else if (selectedStyle == "Italic")
      {
        label.Font.Italic = true;
        label.Font.Bold = false;
        label.Font.Underline = false;
      }
      else if (selectedStyle == "Underline")
      {
        label.Font.Underline = true;
        label.Font.Bold = false;
        label.Font.Italic = false;
      }
      else
      {
        label.Font.Bold = false;
        label.Font.Italic = false;
        label.Font.Underline = false;
      }
    }

    // Create a custom EditorPart to edit the WebPart control.
    [AspNetHostingPermission(SecurityAction.Demand,
      Level = AspNetHostingPermissionLevel.Minimal)]
    private class TextDisplayEditorPart : EditorPart
    {
      DropDownList _partContentFontStyle;

      public override bool ApplyChanges()
      {
        TextDisplayWebPart part = 
          (TextDisplayWebPart)WebPartToEdit;
        // Update the custom WebPart control with the font style.
        part.FontStyle = PartContentFontStyle.SelectedValue;

        return true;
      }

      public override void SyncChanges()
      {
        TextDisplayWebPart part = 
          (TextDisplayWebPart)WebPartToEdit;
        String currentStyle = part.FontStyle;

        // Select the current font style in the drop-down control.
        foreach (ListItem item in PartContentFontStyle.Items)
        {
          if (item.Value == currentStyle)
          {
            item.Selected = true;
            break;
          }
        }
      }

      protected override void CreateChildControls()
      {
        Controls.Clear();

        // Add a set of font styles to the dropdown list.
        _partContentFontStyle = new DropDownList();
        _partContentFontStyle.Items.Add("Bold");
        _partContentFontStyle.Items.Add("Italic");
        _partContentFontStyle.Items.Add("Underline");
        _partContentFontStyle.Items.Add("None");

        Controls.Add(_partContentFontStyle);
      }

      protected override void RenderContents(HtmlTextWriter writer)
      {
        writer.Write("<b>Text Content Font Style</b>");
        writer.WriteBreak();
        writer.Write("Select a font style.");
        writer.WriteBreak();
        _partContentFontStyle.RenderControl(writer);
        writer.WriteBreak();
      }

      // Access the drop-down control through a property.
      private DropDownList PartContentFontStyle
      {
        get 
        {
          EnsureChildControls();
          return _partContentFontStyle;
        }
      }
    }
  }
}
Imports System.Collections
Imports System.ComponentModel
Imports System.Drawing
Imports System.Security.Permissions
Imports System.Web
Imports System.Web.UI
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 _fontStyle As String = Nothing
    Private input As TextBox
    Private DisplayContent As Label
    Private lineBreak As Literal

    Public Overrides Function CreateEditorParts() _
                                As EditorPartCollection
      Dim editorArray As New ArrayList()
      Dim edPart as New TextDisplayEditorPart()
      edPart.ID = Me.ID & "_editorPart1"
      editorArray.Add(edPart)
      Dim editorParts As New EditorPartCollection(editorArray)
      Return editorParts

    End Function

    Public Overrides ReadOnly Property WebBrowsableObject() _
                                        As Object
      Get
        Return Me
      End Get
    End Property

    <Personalizable(), WebBrowsable()> _
    Public Property ContentText() As String
      Get
        Return _contentText
      End Get
      Set(ByVal value As String)
        _contentText = Value
      End Set
    End Property

    <Personalizable(), WebBrowsable()> _
    Public Property FontStyle() As String
      Get
        Return _fontStyle
      End Get
      Set(ByVal value As String)
        _fontStyle = Value
      End Set
    End Property

    Protected Overrides Sub CreateChildControls()
      Controls.Clear()
      DisplayContent = New Label()
      DisplayContent.BackColor = Color.LightBlue
      DisplayContent.Text = Me.ContentText
      If FontStyle Is Nothing Then
        FontStyle = "None"
      End If
      SetFontStyle(DisplayContent, FontStyle)
      Me.Controls.Add(DisplayContent)

      lineBreak = New Literal()
      lineBreak.Text = "<br />"
      Controls.Add(lineBreak)

      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)

    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

    Private Sub SetFontStyle(ByVal label As Label, _
                             ByVal selectedStyle As String)
      If selectedStyle = "Bold" Then
        label.Font.Bold = True
        label.Font.Italic = False
        label.Font.Underline = False
      ElseIf selectedStyle = "Italic" Then
        label.Font.Italic = True
        label.Font.Bold = False
        label.Font.Underline = False
      ElseIf selectedStyle = "Underline" Then
        label.Font.Underline = True
        label.Font.Bold = False
        label.Font.Italic = False
      Else
        label.Font.Bold = False
        label.Font.Italic = False
        label.Font.Underline = False
      End If

    End Sub

    ' Create a custom EditorPart to edit the WebPart control.
    <AspNetHostingPermission(SecurityAction.Demand, _
      Level:=AspNetHostingPermissionLevel.Minimal)> _
    Private Class TextDisplayEditorPart
      Inherits EditorPart
      Private _partContentFontStyle As DropDownList

      Public Overrides Function ApplyChanges() As Boolean
        Dim part As TextDisplayWebPart = CType(WebPartToEdit, _
                                               TextDisplayWebPart)
        ' Update the custom WebPart control with the font style.
        part.FontStyle = PartContentFontStyle.SelectedValue

        Return True

      End Function

      Public Overrides Sub SyncChanges()
        Dim part As TextDisplayWebPart = CType(WebPartToEdit, _
                                               TextDisplayWebPart)
        Dim currentStyle As String = part.FontStyle

        ' Select the current font style in the drop-down control.
        Dim item As ListItem
        For Each item In PartContentFontStyle.Items
          If item.Value = currentStyle Then
            item.Selected = True
            Exit For
          End If
        Next item

      End Sub

      Protected Overrides Sub CreateChildControls()
        Controls.Clear()

        ' Add a set of font styles to the dropdown list.
        _partContentFontStyle = New DropDownList()
        _partContentFontStyle.Items.Add("Bold")
        _partContentFontStyle.Items.Add("Italic")
        _partContentFontStyle.Items.Add("Underline")
        _partContentFontStyle.Items.Add("None")

        Controls.Add(_partContentFontStyle)

      End Sub

      Protected Overrides Sub RenderContents(ByVal writer _
                                             As HtmlTextWriter)
        writer.Write("<b>Text Content Font Style</b>")
        writer.WriteBreak()
        writer.Write("Select a font style.")
        writer.WriteBreak()
        _partContentFontStyle.RenderControl(writer)
        writer.WriteBreak()

      End Sub

      ' Access the drop-down control through a property.
      Private ReadOnly Property PartContentFontStyle() As DropDownList
        Get
          EnsureChildControls()
          Return _partContentFontStyle
        End Get
      End Property

    End Class

  End Class

End Namespace

Der zweite Teil des Code Beispiels ist eine Webseite, die das benutzerdefinierte Steuerelement hostet.The second part of the code example is a Web page that hosts the custom control. Beachten Sie, dass EditorZone zwar ein Steuerelement im Markup der Seite deklariert ist, aber EditorPart auf das benutzerdefinierte Steuerelement nicht verwiesen werden muss, da es zur Laufzeit Programm gesteuert hinzugefügt werden kann.Notice that although an EditorZone control is declared in the markup of the page, the custom EditorPart control need not be referenced there, because it can be added programmatically at run time.

<%@ page language="c#" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeUC" 
  Src="DisplayModeUCcs.ascx" %>
<%@ 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 runat="server">
    <title>
      Text Display WebPart with EditorPart
    </title>
  </head>
  <body>
    <form id="form1" runat="server">
      <asp:webpartmanager id="WebPartManager1" runat="server" />
      <uc1:DisplayModeUC ID="DisplayModeUC1" runat="server" />
      <asp:webpartzone id="zone1" runat="server" 
        CloseVerb-Enabled="false">
        <zonetemplate>
          <aspSample:TextDisplayWebPart 
            runat="server"   
            id="textwebpart" 
            title = "Text Content WebPart" /> 
        </zonetemplate>
      </asp:webpartzone> 
      <asp:EditorZone ID="EditorZone1" runat="server" /> 
    </form>
  </body>
</html>
<%@ page language="vb" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeUC" 
  Src="DisplayModeUCvb.ascx" %>
<%@ 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 runat="server">
    <title>
      Text Display WebPart with EditorPart
    </title>
  </head>
  <body>
    <form id="form1" runat="server">
      <asp:webpartmanager id="WebPartManager1" runat="server" />
      <uc1:DisplayModeUC ID="DisplayModeUC1" runat="server" />
      <asp:webpartzone id="zone1" runat="server" 
        CloseVerb-Enabled="false">
        <zonetemplate>
          <aspSample:TextDisplayWebPart 
            runat="server"   
            id="textwebpart" 
            title = "Text Content WebPart" />
        </zonetemplate>
      </asp:webpartzone> 
      <asp:EditorZone ID="EditorZone1" runat="server" /> 
    </form>
  </body>
</html>

Der dritte Teil des Code Beispiels ist ein Benutzer Steuerelement, das es einem Benutzer ermöglicht, die Seite in den Bearbeitungsmodus zu wechseln.The third part of the code example is a user control that enables a user to switch the page into edit mode. Beachten Sie, dass auf der hostingwebseite auf das Benutzer Steuerelement verwiesen wird.Notice that the user control is referenced in the hosting Web page. Eine vollständige Beschreibung der Vorgehensweise zum Erstellen dieses Benutzer Steuer Elements finden Sie unter Exemplarische Vorgehensweise: Ändern der Anzeigemodi auf einer WebpartsSeiteFor a full description of how to create this user control, see Walkthrough: Changing Display Modes on a Web Parts Page.

<%@ control language="C#" classname="DisplayModeMenu"%>

<script runat="server">

  // On initial load, fill the dropdown with display modes.
  void DisplayModeDropdown_Load(object sender, System.EventArgs e)
  {
    if (!IsPostBack)
    {
      WebPartManager mgr = 
        WebPartManager.GetCurrentWebPartManager(Page);
      String browseModeName = WebPartManager.BrowseDisplayMode.Name;
      // Use a sorted list so the modes are sorted alphabetically.
      SortedList itemArray = 
        new SortedList(mgr.SupportedDisplayModes.Count);

      // Add display modes only if they are supported on the page.
      foreach (WebPartDisplayMode mode in mgr.SupportedDisplayModes)
      {
        String modeName = mode.Name;
        itemArray.Add(modeName, modeName + " Mode");      
      }
      // Fill the dropdown with the display mode names.
      foreach(DictionaryEntry arrayItem in itemArray)
      {
        ListItem item = new ListItem(arrayItem.Value.ToString(), 
          arrayItem.Key.ToString());
        if (item.Value == browseModeName)
          item.Selected = true;
        DisplayModeDropdown.Items.Add(item);
      }
    }
  }

  // Change the page to the selected display mode.
  void DisplayModeDropdown_SelectedIndexChanged(object sender, 
    EventArgs e)
  {
    WebPartManager mgr = WebPartManager.GetCurrentWebPartManager(Page);
    String selectedMode = DisplayModeDropdown.SelectedValue;

    foreach (WebPartDisplayMode mode in mgr.SupportedDisplayModes)
    {
      if (selectedMode == mode.Name)
      {
        mgr.DisplayMode = mode;
        break;
      }
    }
  }

</script>
<div>
  <asp:DropDownList ID="DisplayModeDropdown" 
    runat="server" 
    AutoPostBack="true" 
    OnLoad="DisplayModeDropdown_Load" 
    OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
</div>
<%@ control language="vb" classname="DisplayModeMenu"%>

<script runat="server">

 ' On initial load, fill the dropdown with display modes.
  Sub DisplayModeDropdown_Load(ByVal sender As Object, _
                               ByVal e As System.EventArgs)
    If Not IsPostBack Then
      Dim mgr As WebPartManager = _
        WebPartManager.GetCurrentWebPartManager(Page)
      Dim browseModeName As String = _
        WebPartManager.BrowseDisplayMode.Name
      ' Use a sorted list so the modes are sorted alphabetically.
      Dim itemArray As New SortedList(mgr.SupportedDisplayModes.Count)
        
      ' Add display modes only if they are supported on the page.
      Dim mode As WebPartDisplayMode
      For Each mode In mgr.SupportedDisplayModes
        Dim modeName As String = mode.Name
        itemArray.Add(modeName, modeName + " Mode")
      Next mode
      ' Fill the dropdown with the display mode names.
      Dim arrayItem As DictionaryEntry
      For Each arrayItem In itemArray
        Dim item As New ListItem(arrayItem.Value.ToString(), _
                                 arrayItem.Key.ToString())
        If item.Value = browseModeName Then
          item.Selected = True
        End If
        DisplayModeDropdown.Items.Add(item)
      Next arrayItem
    End If

  End Sub


' Change the page to the selected display mode.
  Sub DisplayModeDropdown_SelectedIndexChanged(ByVal sender As Object, _
                                               ByVal e As EventArgs)
    Dim mgr As WebPartManager = _
      WebPartManager.GetCurrentWebPartManager(Page)
    Dim selectedMode As String = DisplayModeDropdown.SelectedValue
    
    Dim mode As WebPartDisplayMode
    For Each mode In mgr.SupportedDisplayModes
      If selectedMode = mode.Name Then
        mgr.DisplayMode = mode
        Exit For
      End If
    Next mode

  End Sub

</script>
<div>
  <asp:DropDownList ID="DisplayModeDropdown" 
    runat="server" 
    AutoPostBack="true" 
    OnLoad="DisplayModeDropdown_Load" 
    OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
</div>

Um das Codebeispiel auszuführen, laden Sie die hostingwebseite in einem Browser, fügen Sie Text zum Textfeld hinzu, und klicken Sie auf die Schaltfläche Bezeichnung Inhalt festlegen , um die Bezeichnung im-Steuerelement zu aktualisieren.To run the code example, load the hosting Web page in a browser, add some text to the text box, and click the Set Label Content button to update the label in the control. Um die Seite in den Bearbeitungsmodus zu wechseln, wählen Sie in der Dropdown Liste mit den Anzeigemodi die Option Bearbeiten aus.To switch the page into edit mode, select Edit from the drop-down list containing the display modes. Wenn Sie die Benutzeroberfläche über das TextDisplayEditorPart benutzerdefinierte Steuerelement anzeigen möchten, klicken Sie auf den Dropdown Pfeil Verben auf dem TextDisplayWebPart Steuerelement, und wählen Sie Bearbeitenaus.To display the UI from the custom TextDisplayEditorPart control, click the verbs menu drop-down arrow on the TextDisplayWebPart control, and select Edit. In der Bearbeitungs Benutzeroberfläche können Sie die Dropdown Liste mit den Schriftart Stilen verwenden, um den Textstil für die Bezeichnung im TextDisplayWebPart -Steuerelement zu aktualisieren.In the editing UI, you can use the drop-down list containing the font styles to update the text style for the label in the TextDisplayWebPart control. Klicken Sie in der Dropdown Liste Anzeigemodi auf Durchsuchen , um die Seite auf die normale Ansicht zurückzusetzen, und vergewissern Sie sich, dass der Text in der Bezeichnung jetzt den Schriftart Stil hat, den Sie im Bearbeitungsmodus ausgewählt haben.You must click Browse Mode in the display modes drop-down list to return the page to normal view and confirm that the text in the label now has the font style you selected while in edit mode.

Hinweise

Die IWebEditable -Schnittstelle ermöglicht es Ihnen EditorPart , benutzerdefinierte Steuerelemente einem Server Steuerelement zuzuordnen WebPart , z. b. einem-Steuerelement, einem Benutzer Steuerelement oder einem benutzerdefinierten Server Steuerelement.The IWebEditable interface enables you to associate custom EditorPart controls with a server control--such as a WebPart control, a user control, or a custom server control. Die EditorPart Steuerelemente sind in einem EditorZone -Steuerelement enthalten, und diese Zone mit den Bearbeitungs WebPart Steuerelementen bietet Endbenutzern eine Benutzeroberfläche (User Interface, UI) zum Ändern von Eigenschaften, Darstellung und Verhalten für das zugeordnete Steuerelement.The EditorPart controls are contained with an EditorZone control, and this zone with its editing controls provides end users with a user interface (UI) for modifying properties, appearance, and behavior on the associated WebPart control.

Die IWebEditable -Schnittstelle enthält zwei verfügbar gemachte Member.The IWebEditable interface includes two exposed members. Mit WebBrowsableObject der-Eigenschaft EditorPart können Steuerelemente einen Verweis auf das zugeordnete Server Steuerelement erhalten.The WebBrowsableObject property provides a way for EditorPart controls to get a reference to the associated server control. Die CreateEditorParts -Methode wird verwendet, um eine Instanz jedes Benutzer EditorPart definierten Steuer Elements zu erstellen, das einem Server Steuerelement zugeordnet ist, und Sie als Auflistung zurückzugeben.The CreateEditorParts method is used to create an instance of each custom EditorPart control associated with a server control, and return them as a collection.

Die IWebEditable -Schnittstelle ist bereits in der WebPart Basisklasse implementiert, obwohl diese Implementierung standardmäßig keine benutzerdefinierten EditorPart Steuerelemente mit WebPart der-Klasse verknüpft.The IWebEditable interface is already implemented on the base WebPart class, although by default this implementation does not associate any custom EditorPart controls with the WebPart class. Um einem abgeleiteten WebPart Steuerelement Benutzer EditorPart definierten Steuerelementen zuzuordnen, können CreateEditorParts Sie die-Methode überschreiben.To associate a derived WebPart control with custom EditorPart controls, you can override the CreateEditorParts method.

Hinweise für Ausführende

Wenn Sie Server Steuerelemente verwenden möchten, bei denen WebPart es sich nicht um Steuerelemente in einer Webparts Anwendung handelt (d. h. WebPartZoneBase , wenn Sie diese Steuerelemente einer Zone hinzufügen EditorPart ) und benutzerdefinierte Steuerelemente mit solchen Server Steuerelementen verknüpft werden sollen, müssen Sie Implementieren Sie IWebEditable die-Schnittstelle.If you want to use server controls that are not WebPart controls in a Web Parts application (that is, if you add these controls to a WebPartZoneBase zone), and if you want to associate custom EditorPart controls with such server controls, you need to implement the IWebEditable interface. Abgeleitete WebPart Steuerelemente sollten die-Schnittstelle nicht implementieren WebPart , da Sie bereits von der Basisklasse verwendet wird.Derived WebPart controls should not implement the interface, because the base WebPart class already does so.

Eigenschaften

WebBrowsableObject

Ruft einen Verweis auf das von den WebPart-Steuerelementen zu bearbeitende EditorPart-Steuerelement, Benutzersteuerelement oder benutzerdefinierte Steuerelement ab.Gets a reference to the WebPart control, user control, or custom control that will be edited by EditorPart controls.

Methoden

CreateEditorParts()

Gibt eine Auflistung von benutzerdefinierten EditorPart-Steuerelementen zurück, die einem Serversteuerelement zugeordnet wird, das die IWebEditable-Schnittstelle implementiert.Returns a collection of custom EditorPart controls associated with a server control that implements the IWebEditable interface.

Gilt für:

Siehe auch