This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

EditorPart الفئة

Visual Studio 2010

يعمل كفئة أساسية لعناصر التحكم الموجودة في EditorZoneBaseمناطق وتستخدم إلى تحرير WebPartعناصر التحكم.

مساحة الاسم:  System.Web.UI.WebControls.WebParts
التجميع:  System.Web (في System.Web.dll)

[BindableAttribute(false)]
public abstract class EditorPart : Part
<asp:EditorPart />

EditorPart فئة توفر التعيين أساسية من الخصائص والأساليب المستخدمة بمشتق EditorPartعناصر التحكم المتوفرة مع تعيين عنصر تحكم "أجزاء ويب"، وعن طريق تخصيص EditorPartعناصر التحكم. EditorPart عنصر تحكم يسمح لمستخدم إلى تحرير المقترنة WebPartالتحكم بواسطة تعديل تخطيطه أو المظهر، الخصائص، سلوك، أو ميزات غير ذلك.

‏‏تحرير واجهة مستخدم (واجه مستخدم)، consهوts أي من EditorZoneBaseالمناطق التي تحتوي على " EditorPartعناصر التحكم، هو dهوplayed بعد إدخال صفحة ويب ‏‏تحرير الالوضع.

ملاحظةملاحظة

EditorPart عنصر تحكم يمكن استخدامها فقط داخل منطقة مشتقة من EditorZoneBaseللفئات، مثل EditorZoneعنصر تحكم.

بعد أن تم إدخال صفحة الوضع التحرير، يمكن لمستخدم محدد WebPartعنصر تحكم لتحرير بالنقر فوق فعل تحرير ضمن قائمة الأفعال المحددة عنصر تحكم. واحد فقط WebPartعنصر تحكم يمكن تم تحريرهها في الوقت.

عدة اشتقاق EditorPartعناصر التحكم تتوفر مع تعيين عنصر تحكم "أجزاء ويب"، كما هو موضح في الجدول التالي. عناصر التحكم هذه بتوفير الجميع ‏‏تحرير الإمكانيات الضرورية لمعظم التطبيقات. الأسلوب الأمثل لاستخدام عناصر التحكم هذه في صفحة "أجزاء ويب" إلى التصريح بها في تنسيق استمرارية الصفحة داخل <zonetemplate>العنصر، الموقع <zonetemplate>هو عنصر فرع <asp:editorzone>العنصر. تعليمات برمجية المثال، راجع مقطع مثال لهذا الموضوع.

نوع عنصر تحكم

الوصف

AppearanceEditorPart

قم بتحرير المظهر المقترنة عنصر تحكم وخصائص مثل عنوان النص الخاص به، الارتفاع، العرض، بما في ذلك والحد من السمات.

BehaviorEditorPart

قم بتحرير بعض الالسلوكياتيات من المقترنة عنصر تحكم، مثل ما إذا كان يمكن تحريرها، وما إذا كان الإمكان مغلق، أو ما إذا كان يمكن نقلها إلى منطقة أخرى. Th هو عنصر التحكم هو vهوible فقط تشغيل صفحة عند عنصر التحكم هو يتم تم تحريرهه في المشاركة في نطاق إضفاء الطابع الشخصي.

LayoutEditorPart

تحرير السمات التخطيط لعنصر التحكم المرفق، مثل ما إذا كان يجب عليه هو في الولاية (مطوي) عادي أو مصغر، ومنطقة ما هو في.

PropertyGridEditorPart

قم بتحرير خصائص مقترنة عنصر تحكم، إذا تم تعريف هذه الخصائص في تعليمات برمجية المصدر مع WebBrowsableالسمة.

ملاحظةملاحظة

لتحسين إمكانية وصول ذوي الاحتياجات الخاصة، وكافة EditorPartعنصر تحكم s المتوفرة في "أجزاء ويب" عنصر تحكم يتم تقديم التعيين داخل <fieldset>العنصر. <fieldset> عنصر تجميع التعيين المستخدم لعناصر التحكم المرتبطة ‏‏تحرير في المعطى EditorPartعنصر التحكم، ويسهل التنقل المبوب بين عناصر التحكم هذه لكل من عوامل مرئية للمستخدم (على سبيل المثال، برامج استعراض ويب العادية) وعوامل مستخدم موجهة للكلام (مثل برامج قراءة شاشة).

ملاحظات للمسئولين عن الإرث

لإنشاء مخصص EditorPartعنصر تحكم، يجب يمنع الثاني الأساليب الهامة. ApplyChanges أسلوب تطبيق التغييرات التي تم إجراؤها في محرر التحكم WebPartالتحكم في تحرير. SyncChanges الطريقة يحصل على قيم الحالي WebPartالتحكم بالتحرير، حيث يمكن لعنصر التحكم محرر تحريرها. باستخدام هذان الأسلوبان حرج، يمكنك يحصل وتعيين قيم بين الخاص بك EditorPartعنصر التحكم و WebPartفإنه يقوم بتحرير عنصر تحكم.

إذا كنت ينحدر من EditorPartالفئة لإنشاء عناصر التحكم المخصصة المحرر، يمكنك إضافة عناصر التحكم المخصصة الخاصة بك إلى EditorZoneBaseمنطقة بواسطة تطبيق IWebEditableالواجهة في WebPartعنصر تحكم أو عنصر تحكم مستخدم، أو عنصر تحكم الخادم. لمزيد من التفاصيل و مثال عن التعليمات برمجية، انظر في IWebEditableفئة النظرة العامة. Also, the تعليمات برمجية مثال في the مثال مقطع demonstrates how إلى implement IWebEditable في a مخصص WebPart عنصر تحكم.

The following تعليمات برمجية مثال demonstrates declarative و programmatic استخدم of EditorPart عناصر التحكم. وهذا تعليمات برمجية مثال على الرابع أجزاء:

  • أ عنصر تحكم المستخدم التي تمكنك من تغيير أوضاع العرض على صفحة "أجزاء ويب".

  • صفحة ويب تحتوي على EditorZoneعنصر تحكم، مع العديد من EditorPartالتحكم من التعيين عناصر تحكم أجزاء ويب التي تم تعريفها في المنطقة، ومرجع مخصص WebPartعنصر التحكم.

  • A فئة that يحتوي على the مخصص WebPart عنصر تحكم, و a مخصص EditorPart عنصر تحكم for ‏‏تحرير a خاصية في the WebPart عنصر تحكم.

  • شرح كيفية مثال يعمل عند تحميل الصفحة في مستعرض.

الجزء أول من هذا المثال تعليمات برمجية هو عنصر تحكم مستخدم الذي يمكن مستخدمين من إلى تغيير أوضاع عرض تشغيل صفحة ويب. لعرض تفاصيل حول أوضاع ووصف المصدر تعليمات برمجية في عنصر التحكم هذا، راجع الإرشادات التفصيلية: تغيير أوضاع العرض على صفحة أجزاء ويب.


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

<script runat="server">

 // Use a field to reference the current WebPartManager.
  WebPartManager _manager;

  void Page_Init(object sender, EventArgs e)
  {
    Page.InitComplete += new EventHandler(InitComplete);
  }  

  void InitComplete(object sender, System.EventArgs e)
  {
    _manager = WebPartManager.GetCurrentWebPartManager(Page);

    String browseModeName = WebPartManager.BrowseDisplayMode.Name;

    // Fill the dropdown with the names of supported display modes.
    foreach (WebPartDisplayMode mode in _manager.SupportedDisplayModes)
    {
      String modeName = mode.Name;
      // Make sure a mode is enabled before adding it.
      if (mode.IsEnabled(_manager))
      {
        ListItem item = new ListItem(modeName + " Mode", modeName);
        DisplayModeDropdown.Items.Add(item);
      }
    }

  }

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

    WebPartDisplayMode mode = _manager.SupportedDisplayModes[selectedMode];
    if (mode != null)
      _manager.DisplayMode = mode;

  }

  void Page_PreRender(object sender, EventArgs e)
  {
    DisplayModeDropdown.SelectedValue = _manager.DisplayMode.Name;
  }

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


الجزء الثاني من مثال التعليمة البرمجية صفحة ويب. It يحتوي على a declarative مرجع إلى an EditorZone control, مع a فرع <zonetemplate> element that يحتوي على declarative مراجع إلى الثاني of the عنصر تحكم أجزاء ويب التعيين EditorPart عناصر التحكم. The الصفحة also مراجع a مخصص WebPart عنصر تحكم, using a Register directive for the تجميع, و the <aspSample:TextDisplayWebPart> عنصر for the عنصر تحكم.


<%@ page language="c#" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenu" 
  Src="DisplayModecs.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:DisplayModeMenu ID="DisplayModeMenu1" 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">
        <ZoneTemplate>
          <asp:AppearanceEditorPart ID="AppearanceEditorPart1" 
            runat="server" />
          <asp:LayoutEditorPart ID="LayoutEditorPart1" 
            runat="server" />
        </ZoneTemplate>      
      </asp:EditorZone>
    </form>
  </body>
</html>


The third part of the تعليمات برمجية مثال هو a مخصص WebPart فئة named TextDisplayWebPart. The فئة implements the IWebEditable واجهة. Within this فئة هو a nested, private فئة that يحتوي على the تعليمات برمجية for a private EditorPart فئة associated مع the TextDisplayWebPart فئة و named TextDisplayEditorPart. عند تشغيل الوقت، ك TextDisplayWebPartعنصر تحكم يقوم بإدخال الوضع التحرير، في به TextDisplayWebPart.CreateEditorPartsالأسلوب، يقوم بإنشاء مثيل TextDisplayEditorPartللفئات، وعرضه في EditorZoneعنصر التحكم، بالإضافة إلى غير ذلك EditorPartعناصر التحكم.


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 (input.Text != String.Empty)
      {
        _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 TextDisplayEditorPart()
      {
        Title = "Font Face";
      }

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


تحميل الصفحة في مستعرض، وعلى الوضع عرض عنصر تحكم، تحديد الوضع التحرير للتبديل إلى الوضع التحرير. انقر فوق قائمة الأفعال (السهم إلى الأسفل) في شريط عنوان TextDisplayWebPartعنصر تحكم، انقر فوق تحرير لتحرير عنصر تحكم. عند عدم إظهار مربعات الحوار ‏‏تحرير هو vهوible، يمكنك مشاهدة ثلاثة EditorPartعناصر التحكم، بما في ذلك تلك المخصصة لتحرير TextDisplayWebPart.FontStyleخاصية. إذا قمت بإجراء بعض التغييرات في واجهة المستخدم ‏‏تحرير وانقر فوق butإلىn يطبق، يمكنك استخدام عنصر تحكم القائمة المنسدلة إلى العودة الصفحة إلى الوضع استعراض ومشاهدة التأثير الكامل لتغييرات التحرير.

يتم تأمين العملية الجزئية لأي عضو عمومي ثابت (مشترك في Visual Basic) من هذا النوع. لن يتم ضمان تأمين العملية الجزئية لأي عضو مثيل.

نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, الإصدار x64 من نظام التشغيل Windows XP Professional, Windows XP Starter Edition, Windows Server 2008, نظام التشغيل Windows Server 2003, نظام التشغيل Windows Server 2000 المزود بحزمة الخدمة SP4, نظام التشغيل Windows Millennium Edition, نظام التشغيل Windows 98

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0, 2.0
إظهار: