EditorZoneBase クラスとは? わかりやすく解説

EditorZoneBase クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

EditorPart コントロールコンテナとして動作するすべてのゾーン コントロール基本クラスとして機能します

名前空間: System.Web.UI.WebControls.WebParts
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public MustInherit Class
 EditorZoneBase
    Inherits ToolZone
Dim instance As EditorZoneBase
public abstract class EditorZoneBase : ToolZone
public ref class EditorZoneBase abstract :
 public ToolZone
public abstract class EditorZoneBase extends
 ToolZone
public abstract class EditorZoneBase extends
 ToolZone
解説解説

EditorZoneBase クラスは、ToolZone を継承する特殊なゾーン クラスであり、EditorPart コントロールを含む派生ゾーン一連の基本動作提供します他の種類ToolZone クラス複数存在します詳細については、ToolZone クラス概要トピック参照してください他のツール ゾーン同様にページ通常のブラウズ モードときには EditorZoneBase ゾーン表示されません。これらは、ページ編集表示モード場合にだけ表示されます。また、他のツール ゾーン同様にEditorZoneBase ゾーンには、格納するようデザインされ特別な種類コントロール (この例では EditorPart コントロール) だけが含まれます。

EditorZoneBase ゾーンには、それに含まれる編集コントロール用の特殊な UI用意されています。これらの UI 要素多くは、Web パーツ コントロール セット内のすべてのゾーンに共通のものです。各 Web パーツ ゾーンで共通の UI 要素詳細については、WebZone クラス概要トピック参照してください

EditorZoneBase クラス抽象型であるため、Web ページ上で直接使用することはできません。代わりにEditorZoneBase クラス継承してその動作実装するコントロール使用する必要がありますWeb パーツ コントロール セット提供される派生ゾーンまたはEditorZone コントロールいずれか使用するか、独自のカスタム EditorZoneBase コントロール派生できます

EditorZoneBase クラスには、エンド ユーザーWebPart コントロールプロパティレイアウト外観などの属性編集できるようにする特別なコントロール含んだ共通のユーザー インターフェイス (UI: User Interface) が用意されています。ApplyVerb、CancelVerb、OKVerb の各プロパティなど、UI適用する一部プロパティ動詞参照します。動詞は、ユーザーページ実行可能な共通の動作であり、ボタン、リンク、メニュー項目、または他の要素により UI として表されます。たとえば、ユーザーコントロールプロパティ編集する場合Apply 動詞クリックして変更保存できます

他の複数プロパティが、編集 UIさまざまな位置表示されるテキスト影響与えます。これらのプロパティには、EmptyZoneText、ErrorText、HeaderText、InstructionText などがあります

2 つ重要なプロパティが、関連するコントロールへの参照提供します。EditorParts プロパティは、ゾーン含まれる EditorPart コントロールコレクションです。WebPartToEdit プロパティは、WebPartZone に含まれるコントロールである WebPart コントロールや他の ASP.NET サーバー コントロールユーザー コントロール、または現在編集中カスタム コントロール参照するオブジェクトです。

最後に、EditorPartChrome プロパティは、ゾーン関連付けられ、そのゾーンEditorPart コントロールタイトル境界線スタイルなどの周辺 UI 要素スタイル特性 (クロム) を含んだ EditorPartChrome オブジェクトインスタンス参照します。

EditorZoneBase クラス多数メソッドが、他のコントロール編集処理用に特化されています。Close メソッドは、ページ編集表示モードから通常のブラウズ ビュー戻します。CreateEditorPartChrome メソッドは、ゾーンの各 EditorPart コントロール周囲表示されるクロム (境界線動詞アイコンタイトルなどの周辺 UI 要素) を作成するためのものです。CreateEditorParts メソッド抽象メソッドです。派生クラスはこのメソッドオーバーライドして、ゾーン含まれるすべての EditorPart コントロールインスタンス作成します。InvalidateEditorParts メソッドは、ゾーンEditorPart コントロールコレクションプログラム上のなんらかの理由変更され場合に、派生クラスによって呼び出されます。これにより、Web パーツ コントロール セットEditorPart コントロールコレクション再作成して更新します。OnDisplayModeChanged メソッドは、表示モード編集モードからブラウズ モード戻った場合に、EditorPart コントロールコレクションnull 参照 (Visual Basic では Nothing) に設定するために使用されます。最後に、OnSelectedWebPartChanged メソッドは、WebPart コントロール編集モード開始する場合、または終了する場合に、イベント処理するために使用されます。たとえばこのメソッド使用することにより、WebPart コントロールプロパティ値と、関連付けられた EditorPart コントロール編集可能な値を簡単に同期できます

継承時の注意 ホストする EditorPart コントロールカスタム ゾーン開発する場合は、ゾーン テンプレート サポート提供する必要があるかどうか決定する必要がありますゾーン テンプレートは、ITemplate インターフェイス実装する型によって作成されページ開発者カスタム ゾーン使用して Web ページ宣言型マークアップゾーン内で EditorPart コントロール参照できるようにする場合に必要です。ゾーン テンプレート サポート必要な場合EditorZone クラス継承する必要があります。 これに対してカスタム ゾーンおよびその EditorPart コントロール単体使用できるようになっていて、ページ開発者ゾーン テンプレート宣言的コントロール指定しなくても、これらがプログラムによって作成される場合は、EditorZoneBase クラスから直接継承できます。これを行うには、カスタム ゾーン動作するように CreateEditorParts メソッド実装することが重要です。

使用例使用例

EditorZoneBase クラスを、宣言使用する方法およびプログラム使用する方法を示すいくつかのコード例次に示します。このクラス抽象型であるため、このコード例では、EditorZoneBase クラス継承するプロパティおよびメソッドの例を示すために、Web パーツ コントロール セット組み込まれている派生 EditorZone クラス使用します

コード例は、次の 4 つ部分から成ります

ユーザー コントロールソース コードは、別のトピックのものを使用してます。このコード例実行するには、チュートリアル : Web パーツ ページでの表示モード変更トピック記載されているユーザー コントロール.ascx ファイルを、このコード例示されている .ascx ページと同じフォルダ配置する必要があります

コード例2 番目の部分は、宣言による EditorZone コントロールへの参照含まれる Web ページです。ページの上部は、ユーザー コントロールRegister ディレクティブです。ユーザー コントロールタグは、<uc1:DisplayModeMenu> 要素使用してページ内で宣言されます。<asp:WebPartZone> 要素の下には EditorPart コントロール含んだ <asp:EditorZone> 要素があり、コントロール外観および動作決定するための各種タグおよびプロパティ セット存在しますページのほとんどのコードでは、プログラムによる EditorZoneBaseプロパティメソッド使用法示してます。

<%@ Page Language="vb" %>
<%@ register tagprefix="uc1" 
  tagname="DisplayModeMenuVB" 
  src="displaymodevb.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.VB.Controls"
 %>

<script runat="server">

  Sub Button1_Click(ByVal sender As
 Object, ByVal e As EventArgs)
    If EditorZone1.ApplyVerb.Enabled Then
      EditorZone1.ApplyVerb.Enabled = False
    Else
      EditorZone1.ApplyVerb.Enabled = True
    End If
  End Sub
  Sub Button2_Click(ByVal sender As
 Object, ByVal e As EventArgs)
    If EditorZone1.CancelVerb.Enabled Then
      EditorZone1.CancelVerb.Enabled = False
    Else
      EditorZone1.CancelVerb.Enabled = True
    End If
  End Sub
  Sub Button3_Click(ByVal sender As
 Object, ByVal e As EventArgs)
    Label1.Text = "<br />"
    Dim part As EditorPart
    For Each part In EditorZone1.EditorParts
      Label1.Text += part.ID + "<br />"
    Next part
  End Sub
  Sub Button4_Click(ByVal sender As
 Object, ByVal e As EventArgs)
    If EditorZone1.OKVerb.Enabled Then
      EditorZone1.OKVerb.Enabled = False
    Else
      EditorZone1.OKVerb.Enabled = True
    End If

  End Sub
  
</script>
<html  >
<head id="Head1" runat="server">
  <title>EditorZoneBase Examples</title>
</head>
<body>
  <form id="form1" runat="server">
    <asp:WebPartManager ID="WebPartManager1" runat="server"
 />
    <uc1:DisplayModeMenuVB runat="server" id="displaymodemenu1"
 />
    <asp:WebPartZone ID="WebPartZone1" runat="server">
      <ZoneTemplate>
        <asp:BulletedList 
          ID="BulletedList1" 
          Runat="server"
          DisplayMode="HyperLink" 
          Title="Favorite Links" >
          <asp:ListItem Value="http://msdn.microsoft.com">
            MSDN
          </asp:ListItem>
          <asp:ListItem Value="http://www.asp.net">
            ASP.NET
          </asp:ListItem>
          <asp:ListItem Value="http://www.msn.com">
            MSN
          </asp:ListItem>
        </asp:BulletedList>
        <asp:Calendar ID="Calendar1" Runat="server"
 
          Title="My Calendar" />
      </ZoneTemplate>
    </asp:WebPartZone>
    <aspSample:MyEditorZone ID="EditorZone1" runat="server">
      <ApplyVerb Text="Apply Changes" />
      <CancelVerb Text="Cancel Changes" />
      <OKVerb Text="Finished" />
      <ZoneTemplate>
        <asp:AppearanceEditorPart ID="AppearanceEditorPart1"
 
          runat="server" />
        <asp:LayoutEditorPart ID="LayoutEditorPart1"
 
          runat="server" />
      </ZoneTemplate>
    </aspSample:MyEditorZone>
    <hr />
    <asp:Button ID="Button1" runat="server"
 Width="200"
      Text="Toggle ApplyVerb Enabled" OnClick="Button1_Click"
 />
    <br />
    <asp:Button ID="Button2" runat="server"
 Width="200"
      Text="Toggle CancelVerb Enabled" OnClick="Button2_Click"
 />
    <br />
    <asp:Button ID="Button3" runat="server"
 Width="200"
      Text="Display EditorParts Collection" OnClick="Button3_Click"
 />
    <asp:Label ID="Label1" runat="server"
 />
    <br />
    <asp:Button ID="Button4" runat="server"
 Width="200"
      Text="Toggle OKVerb Enabled" OnClick="Button4_Click"
 /> 
  </form>
</body>
</html>
<%@ Page Language="C#" %>
<%@ register tagprefix="uc1" 
  tagname="DisplayModeMenuCS" 
  src="displaymodecs.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.CS.Controls" %>
  
<script runat="server">

  void Button1_Click(object sender, EventArgs e)
  {
    if (EditorZone1.ApplyVerb.Enabled)
      EditorZone1.ApplyVerb.Enabled = false;
    else
      EditorZone1.ApplyVerb.Enabled = true;
  }
  void Button2_Click(object sender, EventArgs e)
  {
    if (EditorZone1.CancelVerb.Enabled)
      EditorZone1.CancelVerb.Enabled = false;
    else
      EditorZone1.CancelVerb.Enabled = true;
  }
  void Button3_Click(object sender, EventArgs e)
  {
    Label1.Text = "<br />";
    foreach (EditorPart part in EditorZone1.EditorParts)
    {
      Label1.Text += part.ID + "<br />";
    }
  }
  void Button4_Click(object sender, EventArgs e)
  {
    if (EditorZone1.OKVerb.Enabled)
      EditorZone1.OKVerb.Enabled = false;
    else
      EditorZone1.OKVerb.Enabled = true;
  }
  
</script>

<html  >
<head runat="server">
  <title>EditorZoneBase Examples</title>
</head>
<body>
  <form id="form1" runat="server">
    <asp:WebPartManager ID="WebPartManager1" runat="server"
 />
    <uc1:DisplayModeMenuCS runat="server" id="displaymodemenu1"
 />
    <asp:WebPartZone ID="WebPartZone1" runat="server">
      <ZoneTemplate>
        <asp:BulletedList 
          ID="BulletedList1" 
          Runat="server"
          DisplayMode="HyperLink" 
          Title="Favorite Links" >
          <asp:ListItem Value="http://msdn.microsoft.com">
            MSDN
          </asp:ListItem>
          <asp:ListItem Value="http://www.asp.net">
            ASP.NET
          </asp:ListItem>
          <asp:ListItem Value="http://www.msn.com">
            MSN
          </asp:ListItem>
        </asp:BulletedList>
        <asp:Calendar ID="Calendar1" Runat="server" 
          Title="My Calendar" />
      </ZoneTemplate>
    </asp:WebPartZone>
    <aspSample:MyEditorZone ID="EditorZone1" runat="server">
      <ApplyVerb Text="Apply Changes" />
      <CancelVerb Text="Cancel Changes" />
      <OKVerb Text="Finished" />
      <ZoneTemplate>
        <asp:AppearanceEditorPart ID="AppearanceEditorPart1" 
          runat="server" />
        <asp:LayoutEditorPart ID="LayoutEditorPart1" 
          runat="server" />
      </ZoneTemplate>
    </aspSample:MyEditorZone>
    <hr />
    <asp:Button ID="Button1" runat="server" Width="200"
      Text="Toggle ApplyVerb Enabled" OnClick="Button1_Click"
 />
    <br />
    <asp:Button ID="Button2" runat="server" Width="200"
      Text="Toggle CancelVerb Enabled" OnClick="Button2_Click"
 />
    <br />
    <asp:Button ID="Button3" runat="server" Width="200"
      Text="Display EditorParts Collection" OnClick="Button3_Click"
 />
    <asp:Label ID="Label1" runat="server" />
    <br />
    <asp:Button ID="Button4" runat="server" Width="200"
      Text="Toggle OKVerb Enabled" OnClick="Button4_Click" />
 
  </form>
</body>
</html>

コード例3 番目の部分は、多数EditorZoneBase クラス メンバ使用方法を示すカスタム EditorZone クラスです。カスタム クラスは、Web ページ宣言型マークアップゾーン テンプレート使用できるよう、EditorZone から派生します。コード例実行するためには、このソース コードコンパイルする必要があります。それを明示的にコンパイルし、コンパイル済みアセンブリWeb サイトBin フォルダまたはグローバル アセンブリ キャッシュ配置できますサイトの App_Code フォルダソース コード配置し実行時動的にコンパイルすることもできます。このコード例では動的コンパイル使用しているため、Web ページ上部Register ディレクティブアセンブリ ファイル参照していないことに注意する必要があります両方コンパイル方法を示すチュートリアルについては、「チュートリアル : カスタム サーバー コントロール開発と使用」を参照してください

Imports System
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 MyEditorZone
    Inherits EditorZone

    Public Sub New()
    End Sub

    Protected Overrides Sub
 OnDisplayModeChanged(ByVal sender _
      As Object, ByVal e
 As WebPartDisplayModeEventArgs)
      Me.BackColor = Color.LightGray
      MyBase.OnDisplayModeChanged(sender, e)
    End Sub
    Protected Overrides Sub
 OnSelectedWebPartChanged(ByVal sender _
      As Object, ByVal e
 As WebPartEventArgs)
      If Not (e.WebPart Is
 Nothing) Then
        e.WebPart.Zone.SelectedPartChromeStyle.BackColor = _
          Color.LightGreen
      End If
      MyBase.OnSelectedWebPartChanged(sender, e)

    End Sub
    Protected Overrides Sub
 RenderBody(ByVal writer As _
      HtmlTextWriter)
      writer.WriteLine("<hr />")
      MyBase.RenderBody(writer)
    End Sub
    Protected Overrides Sub
 RenderVerbs(ByVal writer As _
      HtmlTextWriter)
      Dim verbs() As WebPartVerb = {OKVerb,
 CancelVerb, ApplyVerb}
      Dim verb As WebPartVerb
      For Each verb In verbs
        If Not (verb Is
 Nothing) Then
          verb.Text += " Verb"
        End If
      Next verb
      MyBase.RenderVerbs(writer)
    End Sub
  End Class

End Namespace
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 MyEditorZone : EditorZone
  {
    public MyEditorZone()
    {
    }
    protected override void OnDisplayModeChanged(object
 sender, 
      WebPartDisplayModeEventArgs e)
    {
      this.BackColor = Color.LightGray;
      base.OnDisplayModeChanged(sender, e);
    }
    protected override void OnSelectedWebPartChanged(object
 sender, 
      WebPartEventArgs e)
    {
      if (e.WebPart != null)
        e.WebPart.Zone.SelectedPartChromeStyle.BackColor = 
          Color.LightGreen;
      base.OnSelectedWebPartChanged(sender, e);
    }
    protected override void RenderBody(HtmlTextWriter
 writer)
    {
      writer.WriteLine("<hr />");
      base.RenderBody(writer);
    }
    protected override void RenderVerbs(HtmlTextWriter
 writer)
    {
      WebPartVerb[] verbs = new WebPartVerb[] { OKVerb, 
        CancelVerb, ApplyVerb };
      foreach (WebPartVerb verb in verbs)
      {
        if (verb != null)
          verb.Text += " Verb";
      }
      base.RenderVerbs(writer);
    }
  }
}

ブラウザページ読み込む場合ドロップダウン リストから [編集モード] を選択して編集モード切り替えることができます2 つコントロールいずれかタイトル バー動詞メニュー (下向き矢印) をクリックし、[編集] をクリックすることにより、コントロール編集できます編集 UI表示されていればEditorZoneBase クラス メンバ宣言使用した場合およびプログラム使用した場合結果表示されます。

.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
   System.Web.UI.Control
     System.Web.UI.WebControls.WebControl
       System.Web.UI.WebControls.CompositeControl
         System.Web.UI.WebControls.WebParts.WebZone
           System.Web.UI.WebControls.WebParts.ToolZone
            System.Web.UI.WebControls.WebParts.EditorZoneBase
               System.Web.UI.WebControls.WebParts.EditorZone
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
EditorZoneBase メンバ
System.Web.UI.WebControls.WebParts 名前空間
WebZone
WebPartZoneBase
CatalogZoneBase クラス
IWebEditable
その他の技術情報
チュートリアル : Web パーツ ページでの表示モード変更
ASP.NET Web パーツ ページ


このページでは「.NET Framework クラス ライブラリ リファレンス」からEditorZoneBase クラスを検索した結果を表示しています。
Weblioに収録されているすべての辞書からEditorZoneBase クラスを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からEditorZoneBase クラス を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「EditorZoneBase クラス」の関連用語

EditorZoneBase クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



EditorZoneBase クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS