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

WebZone クラス

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

Web パーツ アプリケーションサーバー コントロール (Web パーツPart コントロールサーバー コントロール、およびユーザー コントロールを含む) のコンテナとして機能するすべてのコントロール基本クラスとして使用されます。

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

<BindableAttribute(False)> _
Public MustInherit Class
 WebZone
    Inherits CompositeControl
[BindableAttribute(false)] 
public abstract class WebZone : CompositeControl
[BindableAttribute(false)] 
public ref class WebZone abstract : public
 CompositeControl
/** @attribute BindableAttribute(false) */ 
public abstract class WebZone extends CompositeControl
BindableAttribute(false) 
public abstract class WebZone extends
 CompositeControl
解説解説

Web パーツ ゾーンは、サーバー コントロール含まれている Web ページ上の定義領域で、格納するコントロール一貫性のあるユーザー インターフェイス (UI: User Interface)、レイアウト、および表示提供しますゾーンHTML テーブルとしてブラウザ表示されます。

WebZone クラスは、すべての Web パーツ ゾーン基本クラスです。ゾーン コントロールは、他のコントロール格納するように設計され複合コントロールです。したがってWebZone クラスCompositeControl クラスから継承します。WebPartManager コントロールおよび Part コントロール (またはゾーン配置できる他のユーザー コントロールサーバー コントロール) と共にWebZone 基本クラスから派生したゾーン コントロールは、Web パーツ アプリケーション基本的なビルド ブロック形成します

Web パーツ ゾーン重要な役割は、そこに格納されるコントロールで完全な Web パーツ機能使用できるようにすることです。すべての Web パーツ ページには少なくとも 1 つゾーン含まれゾーンには 0 個以上のパーツ コントロール格納できますWeb パーツ機能にはゾーンが必要です。ゾーン使用しない場合WebPart クラスから派生したコントロールであってもごくわずかWeb パーツ機能し使用できません。反対にWeb パーツ コントロール セット設計により、通常の ASP.NET コントロールサーバー コントロール、またはユーザー コントロール (これらは WebZone から派生します) を WebPartZoneBase ゾーン配置でき、ゾーン内に配置されることにより、これらの通常のサーバー コントロール実行時WebPart コントロールとして動作することができます詳細については、GenericWebPart クラスドキュメント参照してください

メモメモ

Part コントロールWebPart コントロールページゾーン外に追加することはできますが、その場合、これらのコントロールは単に通常のサーバー コントロールとして機能します

Web パーツ コントロール セットには、2 つ広範なゾーンカテゴリがあり、それらはすべて基本 WebZone クラスから継承してます。

Web パーツ コントロール セット内の各ゾーンは、そのゾーン主要なコンテンツおよび基本 UI として機能するパーツ コントロールと共にPart クラスから派生した対応する種類コントロール格納するように設計されています。次の表に、Web パーツ コントロール セットゾーン種類と、それらに格納される対応する種類パーツ コントロール示します

Web パーツ コントロールすべてのゾーンには、基本 WebZone クラスから継承した基本的な共通のユーザー インターフェイス要素あります。これらすべての要素すべてのゾーン表示されるわけではありませんが、次の表に示すように、それぞれのゾーン種類が、これら共通のゾーン関連 UI 要素を持つことができます

ゾーン セクション

説明

ヘッダー

ゾーントップ セクション。これには、ゾーンタイトル含めることができるヘッダー テキストヘッダー目立たせるスタイル属性 (境界線背景色など)、および、クリックすることで、ゾーン閉じるなどのゾーン全体適用される UI 操作実行できるゾーン レベル動詞 (ボタンハイパーリンク、またはイメージ表される) が含まれます。HasHeader、HeaderStyle、HeaderText など、ゾーンヘッダー領域関係するいくつかの WebZone プロパティゾーンゾーン レベル動詞がある場合、VerbButtonType プロパティと VerbStyle プロパティがそれらに適用されます。これら 2 つ動詞プロパティは、ゾーン レベル動詞だけに適用されゾーン含まれる個々パーツ コントロール動詞には適用されないことに注意してくださいヘッダーすべての種類ゾーン存在するわけではありません。通常は、テキストおよび動詞 (閉じ動詞など) を含んだ共通のヘッダー領域を持つ必要がある ToolZone ゾーン表示されます。

本体

ゾーンメイン コンテンツセクションです。WebZone から派生したすべてのゾーンに、本体セクションあります前述の表に示したように、Web パーツ コントロール セットすべての種類ゾーンで、ゾーン種類対応する指定され種類Part コントロール (またはその他のサーバー コントロール) がゾーン本体含まれます。BackImageUrl、PartChromeStyle、PartChromeType、PartStyle の各プロパティなど、WebZone クラスさまざまなメンバが、本体セクションコンテンツ影響与えます本体セクションが空の場合特定の状況では、EmptyZoneText メッセージ表示できます

クロム

ゾーン内の各パーツ コントロールのために表示される共通の UI 要素。これは、ゾーン自体適用されるスタイル属性とは異なります具体的には、クロム格納されているパーツ コントロール適用されます。クロムには、動詞境界線、および背景色タイトル テキストフォント スタイルなど、ゾーンパーツ コントロール対すその他のスタイル属性含まれます。ゾーンは、格納しているパーツ コントロール種類適切な単一クロム オブジェクト (たとえば、CatalogPart コントロール格納した CatalogZone には CatalogPartChrome オブジェクト) を使用してクロム詳細決定します。この単一クロム オブジェクトが、クロム詳細およびゾーン内のすべてのパーツ コントロール描画処理します。これにより開発者は、一貫性のある共通のルック アンド フィールすべてのパーツ コントロール指定できるゾーン作成できますゾーンパーツ コントロールクロム関係するプロパティには、PartChromeStylePartChromeTypePartStyle、PartTitleStyle の各プロパティなどが含まれます。特定の種類ゾーンクロム オブジェクト参照する特定のプロパティ含め、ほとんどのクロム関連プロパティは、基本 WebZone クラスでは実装されていません。代わりにゾーンのほとんどのクロム固有機能は、パーツ コントロール固有の要求に合うように特定のゾーン種類実装されています。このトピック前述の表に記載されている、各ゾーン種類トピック参照してください

パーツ コントロール

ゾーン本体セクション存在するコントロール。このトピック前述の表に示したように、WebZone クラスから継承したすべてのゾーンでは、対応する種類パーツ コントロールが、その本セクション1 つ以上含まれています。これらのパーツ コントロールが、Web パーツ アプリケーション主要な UI形成しますWebZone から派生したほとんどのゾーン種類には、WebPartZoneBase クラスWebParts プロパティや、EditorZoneBase クラスの EditorParts プロパティなど、格納しているすべてのパーツ コントロール参照できるようにするコレクション プロパティあります

Footer

ゾーン下部セクションヘッダー セクションと同様、これはすべての種類ゾーン存在するではなく通常ToolZone ゾーン出現します。フッター セクション一般的なコンテンツは、EditorZoneBase ゾーンフッター表示される ok動詞適用動詞などの動詞です。HasFooter、FooterStyle、VerbButtonTypeVerbStyle の各プロパティなど、フッター セクション関連するいくつかのプロパティあります

WebZone クラスプロパティのほとんどは、ゾーンの共通 UI 要素説明した前述の表に示されています。WebZone クラスには、そのコンテンツ表示する役割関連するメソッドいくつかあります。RenderBody、RenderContents、RenderFooter、および RenderHeader の各メソッドはすべて、オーバーライドすることによって、ゾーンそれぞれの特定のセクション表示プログラム制御できます。たとえば、アプリケーションカタログ ゾーンすべてのフッター セクションカスタマイズする場合は、CatalogZoneBase クラスから継承しWebZone から継承した RenderFooter メソッドオーバーライドして、フッター セクション表示変更できます

継承時の注意 WebZone クラスから直接継承してカスタムWeb パーツ ゾーン開発する要はほとんどありません。Web パーツ コントロール セットには、上記の「解説」で列挙される特殊なゾーン含まれ通常それらの 1 つから派生させてカスタム動作ゾーン追加できますWebZone クラスから直接継承する場合多数プロパティおよびメソッドオーバーライドする必要があります。これについては、WebZone クラスメンバドキュメント参照してくださいまた、カスタム WebPartManager コントロールゾーン表示する固有の表示モード作成するためのカスタム WebPartDisplayMode コントロール (オプション)、および Web パーツ コントロール セット内でゾーン正常に動作させるための、その他のカスタマイズ作成する必要があります

使用例使用例

WebZone クラス使用方法を示すコード例次に示します

コード例最初部分は、WebPart クラスから派生した 2 つカスタム コントロールです。コード例実行するためには、このソース コードコンパイルする必要があります。それを明示的にコンパイルし、コンパイル済みアセンブリWeb サイトBin フォルダまたはグローバル アセンブリ キャッシュ配置できますサイトの App_Code フォルダソース コード配置し実行時動的にコンパイルすることもできます両方コンパイル方法を示すチュートリアルについては、「チュートリアル : カスタム サーバー コントロール開発と使用」を参照してください

Imports System
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 CalendarWebPart
  Inherits WebPart
  Private _calendar As Calendar

  Public Sub New()
    Me.AllowClose = False

  End Sub

  Protected Overrides Sub
 CreateChildControls()
      Controls.Clear()
      _calendar = New Calendar()
      _calendar.Caption = "My Calendar"
      Me.Controls.Add(_calendar)
      ChildControlsCreated = True
  
  End Sub 
  
End Class 

  <AspNetHostingPermission(SecurityAction.Demand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  Public Class LinksWebPart
    Inherits WebPart
    Private _literal As Literal
    Private Const _literalText As
 String = _
      "<table>" & _
      "<tr>" & _
      "<td><a href='http://msdn.microsoft.com'>MSDN</a></td>"
 & _
      "</tr>" & _
      "<tr>" & _
      "<td><a href='http://msn.microsoft.com'>MSN</a></td>"
 & _
      "</tr>" & _
      "<tr>" & _
      "<td><a href='http://www.msnbc.msn.com'>MSNBC</a></td>"
 & _
      "</tr>" & _
      "</table>"

    Public Sub New()
      Me.AllowClose = False

    End Sub


    Protected Overrides Sub
 CreateChildControls()
      Controls.Clear()

      _literal = New Literal()
      _literal.Text = _literalText
      Me.Controls.Add(_literal)

      ChildControlsCreated = True

    End Sub
  End Class

End Namespace 
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 CalendarWebPart : WebPart
  {
    Calendar _calendar;

    public CalendarWebPart()
    {
      this.AllowClose = false;
    }

    protected override void CreateChildControls()
    {
      Controls.Clear();
      _calendar = new Calendar();
      _calendar.Caption = "My Calendar";
      this.Controls.Add(_calendar);
      ChildControlsCreated = true;
    }
  }

  [AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  public class LinksWebPart : WebPart
  {
    Literal _literal;
    const string _literalText = @"
      <table>
      <tr>
        <td><a href='http://msdn.microsoft.com'>MSDN</a></td>
      </tr>
      <tr>
        <td><a href='http://msn.microsoft.com'>MSN</a></td>
      </tr>
      <tr>
        <td><a href='http://www.msnbc.msn.com'>MSNBC</a></td>
      </tr>
      </table>";

    public LinksWebPart()
    {
      this.AllowClose = false;
    }

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

      _literal = new Literal();
      _literal.Text = _literalText;
      this.Controls.Add(_literal);

      ChildControlsCreated = true;
    }
  }
}

コード例2 番目の部分は、WebPart コントロールホストする Web ページです。宣言型マークアップには、CatalogZone コントロールおよび EditorZone コントロール2 つWebPartZone コントロール含まれます。

<%@ page language="VB" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuVB" 
  Src="DisplayModeMenuVB.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.VB.Controls"
 
  Assembly="ZoneWebPartsVB"%>
<script runat="server">

</script>
<html>
<head id="Head1" runat="server">
  
</head>
<body>
  <form id="Form1" runat="server">
    <asp:webpartmanager id="WebPartManager1" runat="server"
 />
    <uc1:DisplayModeMenuVB ID="DisplayModeMenu1"
 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:CalendarWebPart 
            runat="server"   
            id="CalendarWebPart1" 
            Title="Calendar WebPart"
            />         
        </ZoneTemplate>
    </asp:webpartzone>
    <asp:webpartzone
      id="WebPartZone2"
      runat="server"
      title="Zone 2"
      PartChromeType="TitleAndBorder"
      EmptyZoneText="Empty Zone">
        <parttitlestyle font-bold="true" ForeColor="#3300cc"/>
        <partstyle
          borderwidth="1px"   
          borderstyle="Solid"  
          bordercolor="#81AAF2" />
    </asp:webpartzone>
    <asp:EditorZone ID="editzone1" Runat="server">
      <ZoneTemplate>
        <asp:AppearanceEditorPart 
          ID="appearanceeditor1" 
          Runat="server" />
        <asp:LayoutEditorPart 
          ID="LayoutEditorPart1" 
          Runat="server" />
      </ZoneTemplate>
    </asp:EditorZone>
    <asp:CatalogZone ID="catalogzone1" Runat="server"
 >
      <ZoneTemplate>
        <asp:DeclarativeCatalogPart 
          ID="declarativepart1" 
          Runat="server">
          <WebPartsTemplate>
          <aspSample:LinksWebPart 
            runat="server"   
            id="linkswebpart" 
            Title="Favorite Links"
            />  
          </WebPartsTemplate>
        </asp:DeclarativeCatalogPart>
      </ZoneTemplate>
    </asp:CatalogZone>
    <br />
  </form>
</body>
</html>
<%@ page language="C#" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuCS" 
  Src="DisplayModeMenuCS.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.CS.Controls" 
  Assembly="ZoneWebPartsCS"%>
<script runat="server">

</script>
<html>
<head id="Head1" runat="server">
  
</head>
<body>
  <form id="Form1" runat="server">
    <asp:webpartmanager id="WebPartManager1" runat="server"
 />
    <uc1:DisplayModeMenuCS ID="DisplayModeMenu1" 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:CalendarWebPart 
            runat="server"   
            id="CalendarWebPart1" 
            Title="Calendar WebPart"
            />         
        </ZoneTemplate>
    </asp:webpartzone>
    <asp:webpartzone
      id="WebPartZone2"
      runat="server"
      title="Zone 2"
      PartChromeType="TitleAndBorder"
      EmptyZoneText="Empty Zone">
        <parttitlestyle font-bold="true" ForeColor="#3300cc"/>
        <partstyle
          borderwidth="1px"   
          borderstyle="Solid"  
          bordercolor="#81AAF2" />
    </asp:webpartzone>
    <asp:EditorZone ID="editzone1" Runat="server">
      <ZoneTemplate>
        <asp:AppearanceEditorPart 
          ID="appearanceeditor1" 
          Runat="server" />
        <asp:LayoutEditorPart 
          ID="LayoutEditorPart1" 
          Runat="server" />
      </ZoneTemplate>
    </asp:EditorZone>
    <asp:CatalogZone ID="catalogzone1" Runat="server" >
      <ZoneTemplate>
        <asp:DeclarativeCatalogPart 
          ID="declarativepart1" 
          Runat="server">
          <WebPartsTemplate>
          <aspSample:LinksWebPart 
            runat="server"   
            id="linkswebpart" 
            Title="Favorite Links"
            />  
          </WebPartsTemplate>
        </asp:DeclarativeCatalogPart>
      </ZoneTemplate>
    </asp:CatalogZone>
    <br />
  </form>
</body>
</html>

ブラウザページ読み込んでさまざまなページ表示モード交互に切り替えると、ゾーン動作違い確認できます表示モード、およびユーザー表示モード切り替えられるようにする方法詳細については、「チュートリアル : Web パーツ ページでの表示モード変更」を参照してください

.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.WebPartZoneBase
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



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

辞書ショートカット

すべての辞書の索引

「WebZone クラス」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS