WebZone イベント

名前 | 説明 | |
---|---|---|
![]() | DataBinding | サーバー コントロールがデータ ソースに連結すると発生します。 ( Control から継承されます。) |
![]() | Disposed | サーバー コントロールがメモリから解放されると発生します。これは、ASP.NET ページが要求されている場合のサーバー コントロールの有効期間における最終段階です。 ( Control から継承されます。) |
![]() | Init | サーバー コントロールが初期化されると発生します。これは、サーバー コントロールの有効期間における最初の手順です。 ( Control から継承されます。) |
![]() | Load | サーバー コントロールが Page オブジェクトに読み込まれると発生します。 ( Control から継承されます。) |
![]() | PreRender | Control オブジェクトの読み込み後、表示を開始する前に発生します。 ( Control から継承されます。) |
![]() | Unload | サーバー コントロールがメモリからアンロードされると発生します。 ( Control から継承されます。) |

関連項目
WebZone クラスSystem.Web.UI.WebControls.WebParts 名前空間
その他の技術情報
ASP.NET Web パーツの概要Web パーツ コントロール セットの概要
チュートリアル : Web パーツ ページでの表示モードの変更
ASP.NET Web パーツ ページ
WebZone クラス
アセンブリ: System.Web (system.web.dll 内)

<BindableAttribute(False)> _ Public MustInherit Class WebZone Inherits 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 クラスから継承しています。
-
WebPartZoneBase ゾーン。これらには WebPart コントロール (および他のサーバー コントロールやユーザー コントロール) が含まれ、ユーザーとの対話の大半を占める、Web パーツ ページの基本 UI を形成します。
-
ToolZone ゾーン。これらのゾーンは、Web パーツ ページ上の WebPartZoneBase ゾーンに含まれる各コントロールの内容、レイアウト、外観、動作、およびプロパティを変更 (パーソナル化) できるようにする、Web パーツ ページの特殊なビューを提供します。たとえば、CatalogZoneBase ゾーンは、ページのカタログ ビューを提供する ToolZone で、ユーザーがサーバー コントロールを追加したり削除したりできるようにします。EditorZoneBase ゾーンは、ページの編集ビューを提供する別の種類の ToolZone で、ページのレイアウトのほか、コントロールのプロパティ、外観、および動作の変更や編集をユーザーが行うことができるようにします。
Web パーツ コントロール セット内の各ゾーンは、そのゾーンの主要なコンテンツおよび基本 UI として機能するパーツ コントロールと共に、Part クラスから派生した対応する種類のコントロールを格納するように設計されています。次の表に、Web パーツ コントロール セットのゾーンの種類と、それらに格納される対応する種類のパーツ コントロールを示します。
WebPart (および実行時に GenericWebPart でラップされるサーバー コントロールとユーザー コントロール) | WebPartZone (基本クラスは WebPartZoneBase) |
EditorPart (いくつかの派生コントロールは Web パーツ コントロール セットと共に提供され、カスタム EditorPart コントロールを開発できます) | EditorZone (基本クラスは EditorZoneBase) |
CatalogPart (いくつかの派生コントロールは Web パーツ コントロール セットと共に提供され、カスタム CatalogPart コントロールを開発できます) | CatalogZone (基本クラスは CatalogZoneBase) |
WebPartConnection (接続コントロールは、基本クラスから継承したパーツ コントロールでないという点で独特です) |
Web パーツ コントロールのすべてのゾーンには、基本 WebZone クラスから継承した、基本的な共通のユーザー インターフェイス要素があります。これらすべての要素がすべてのゾーンに表示されるわけではありませんが、次の表に示すように、それぞれのゾーンの種類が、これら共通のゾーン関連 UI 要素を持つことができます。
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 パーツ ページでの表示モードの変更」を参照してください。


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


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


WebZone プロパティ



関連項目
WebZone クラスSystem.Web.UI.WebControls.WebParts 名前空間
その他の技術情報
ASP.NET Web パーツの概要Web パーツ コントロール セットの概要
チュートリアル : Web パーツ ページでの表示モードの変更
ASP.NET Web パーツ ページ
WebZone メソッド



関連項目
WebZone クラスSystem.Web.UI.WebControls.WebParts 名前空間
その他の技術情報
ASP.NET Web パーツの概要Web パーツ コントロール セットの概要
チュートリアル : Web パーツ ページでの表示モードの変更
ASP.NET Web パーツ ページ
WebZone メンバ
Web パーツ アプリケーションでサーバー コントロール (Web パーツの Part コントロール、サーバー コントロール、およびユーザー コントロールを含む) のコンテナとして機能する、すべてのコントロールの基本クラスとして使用されます。
WebZone データ型で公開されるメンバを以下の表に示します。





名前 | 説明 | |
---|---|---|
![]() | DataBinding | サーバー コントロールがデータ ソースに連結すると発生します。(Control から継承されます。) |
![]() | Disposed | サーバー コントロールがメモリから解放されると発生します。これは、ASP.NET ページが要求されている場合のサーバー コントロールの有効期間における最終段階です。(Control から継承されます。) |
![]() | Init | サーバー コントロールが初期化されると発生します。これは、サーバー コントロールの有効期間における最初の手順です。(Control から継承されます。) |
![]() | Load | サーバー コントロールが Page オブジェクトに読み込まれると発生します。(Control から継承されます。) |
![]() | PreRender | Control オブジェクトの読み込み後、表示を開始する前に発生します。(Control から継承されます。) |
![]() | Unload | サーバー コントロールがメモリからアンロードされると発生します。(Control から継承されます。) |

関連項目
WebZone クラスSystem.Web.UI.WebControls.WebParts 名前空間
その他の技術情報
ASP.NET Web パーツの概要Web パーツ コントロール セットの概要
チュートリアル : Web パーツ ページでの表示モードの変更
ASP.NET Web パーツ ページ
- WebZoneのページへのリンク