Part イベント
パブリック イベント
名前 | 説明 | |
---|---|---|
DataBinding | サーバー コントロールがデータ ソースに連結すると発生します。 ( Control から継承されます。) | |
Disposed | サーバー コントロールがメモリから解放されると発生します。これは、ASP.NET ページが要求されている場合のサーバー コントロールの有効期間における最終段階です。 ( Control から継承されます。) | |
Init | サーバー コントロールが初期化されると発生します。これは、サーバー コントロールの有効期間における最初の手順です。 ( Control から継承されます。) | |
Load | サーバー コントロールが Page オブジェクトに読み込まれると発生します。 ( Control から継承されます。) | |
PreRender | Control オブジェクトの読み込み後、表示を開始する前に発生します。 ( Control から継承されます。) | |
Unload | サーバー コントロールがメモリからアンロードされると発生します。 ( Control から継承されます。) |
関連項目
Part クラスSystem.Web.UI.WebControls.WebParts 名前空間
その他の技術情報
ASP.NET Web パーツの概要Web パーツ コントロール セットの概要
ASP.NET Web パーツ ページ
Part クラス
アセンブリ: System.Web (system.web.dll 内)
構文
Public MustInherit Class Part Inherits Panel Implements INamingContainer, ICompositeControlDesignerAccessor
Part クラスは、すべてのパーツ コントロールに共通のプロパティを定義し、それらが Web ページ上でモジュール式の一貫した状態で表示されるようにします。これらの共通プロパティには、タイトル、説明、およびパーツ コントロールの周囲に表示されるクロムまたはフレームの特性などがあります。
Title プロパティでは、パーツ コントロールのタイトルを指定します。Description プロパティは、パーツ コントロールの目的をまとめて、そのコントロールのタイトル バーのツールヒントに表示するために使用します。ChromeType プロパティでは、パーツ コントロールの周囲に表示する境界線の種類を指定し、ChromeState プロパティでは、パーツ コントロールを標準または最小化のどちらの状態で表示するかを指定します。パーツ コントロールの境界線は、そのコントロールが格納されているゾーンのプロパティの影響を受けます。たとえば、PartChromeType プロパティは、ゾーン内に格納されているすべてのパーツ コントロールのフレームに影響します。
パーツ コントロールの種類の 1 つは WebPart で、対応するゾーン内の内容を表示します。もう 1 つの種類は、EditorPart コントロールで、個々の WebPart コントロールの変更 (パーソナル化) に使用するユーザー インターフェイス (UI) コントロールを提供します。パーツ コントロールの 3 番目の種類は、CatalogPart コントロールで、ユーザーが Web ページに追加したり Web ページから削除したりできる WebPart コントロールのリストを提供します。
パーツ コントロールはゾーンに格納され、すべてのゾーンは WebZone 抽象クラスから派生します。ゾーンでは、そのゾーンに格納されるパーツ コントロールを整理する必要があります。また、各ゾーンで、そのゾーン自体の UI 要素 (ヘッダー、フッター、タイトル バー、およびパーツ コントロールを格納している各ゾーンの周囲の境界線などの UI 要素) も表示します。
メモ |
---|
パーツ コントロールは、通常ゾーン内に存在しますが、コントロールが Web ページのマークアップで宣言によって参照されている場合は、パーツ コントロールをゾーンの外側に配置することもできます。パーツ コントロールが Web ページ上のゾーンの外側で宣言されている場合、そのコントロールは動作しますが、ほとんどの Web パーツ機能が失われます。たとえば、コントロールを編集したり、実行時にゾーン内にドラッグしたりすることはできません。また、パーツ コントロールは、実行時にページ上でゾーンからドラッグしてゾーンの外側にドロップできないことにも注意してください。 |
基本パーツの種類と各種類に対応するゾーンの種類のいくつかの例を、次の表に示します。
WebPartZone | |
EditorPart | EditorZone |
CatalogPart | CatalogZone |
Part クラスから派生するさまざまな種類のパーツ コントロールでは、継承された UI 志向のプロパティがさまざまな方法で処理されます。WebPart コントロールでは、継承された UI プロパティのいくつかをオーバーライドし、Personalizable 属性を使用してこれらのプロパティをマークします (詳細については、PersonalizableAttribute クラスの説明を参照)。これにより、今後のブラウザ セッション用にこれらのプロパティの値を保存できます (この機能をパーソナル化と呼びます)。たとえば、プログラムによって、実行時にユーザーが WebPart コントロールの Title プロパティの値を更新できるようにした場合、その値はパーソナル化されます。ただし、パーソナル化が有効になっていることが前提です (既定では有効)。WebPart コントロールが Part クラスおよび WebControl クラスから継承するいくつかの UI プロパティは、同じ方法で処理されます。
これに対して、他の EditorPart や CatalogPart などのパーツ コントロールでは、継承された UI プロパティはパーソナル化できません。このため、プログラムによって代入されたプロパティ値は、今後のブラウザ セッション用に保存されません。たとえば、プログラムによって、実行時にユーザーが PropertyGridEditorPart コントロールの Title プロパティを更新できるようにした場合、更新された値は、そのコントロールが閉じられた後、またはブラウザ セッションの終了後に失われます。
EditorPart コントロールおよび CatalogPart コントロールのこのような継承された UI プロパティの値を今後のブラウザ セッション用に保存する簡単な方法は、ページ内でプロパティ値を永続形式で宣言することです。ただし、この方法は静的なので、この方法ではユーザーがプロパティ値をパーソナル化できません。そのため、継承された UI プロパティをプログラムによって更新してユーザーが実行時にパーソナル化できるようにする場合は、プライベートの静的変数を使用して、プロパティ値を保存できます。EditorPart コントロールまたは CatalogPart コントロールの新しいインスタンスが (コントロールの Init イベントを処理するメソッドなどで) 作成されるたびに、対応するプロパティに静的変数の値を代入し直すことができます。このような方法を使用すると、Web パーツ アプリケーションの編集 UI やカタログ UI をユーザーがパーソナル化できるようになります。
継承時の注意 通常は、直接 Part クラスから継承させて、カスタム Web パーツ コントロールを開発しないようにしてください。Web パーツの完全な機能を実現するには、Web パーツ コントロール セットに、Part クラスから継承されたクラス (つまり WebPart、EditorPart、および CatalogPart) が必要なので、カスタム コントロールを開発するには、これらのクラスから継承させます。ただし、他のすべてのパーツ クラスで使用される共通プロパティ セットは Part 基本クラスから提供されるので、この基本クラスの動作を理解することは重要です。ASP.NET Web ページで参照されるカスタムの WebPart コントロールの 2 つのインスタンスを使用して、Part クラスのいくつかのプロパティを宣言によって使用するコード例を次に示します。コード例を実行するためには、このソース コードをコンパイルする必要があります。それを明示的にコンパイルし、コンパイル済みのアセンブリを Web サイトの Bin フォルダまたはグローバル アセンブリ キャッシュに配置できます。サイトの App_Code フォルダにソース コードを配置し、実行時に動的にコンパイルすることもできます。両方のコンパイル方法を示すチュートリアルについては、「チュートリアル : カスタム サーバー コントロールの開発と使用」を参照してください。
この例の最初の部分には、TextDisplayWebPart という名前のカスタム コントロールのコードが含まれています。このコントロールは WebPart から派生するため、Part クラスに用意されている共通プロパティも継承します。このコード例では、これらのプロパティの使用方法を示しています。
Imports System 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 input As TextBox Private DisplayContent As Label Public Sub New() Me.AllowClose = False End Sub <Personalizable(), WebBrowsable()> _ Public Property ContentText() As String Get Return _contentText End Get Set _contentText = value End Set End Property Protected Overrides Sub CreateChildControls() Controls.Clear() DisplayContent = New Label() DisplayContent.Text = Me.ContentText DisplayContent.BackColor = _ System.Drawing.Color.LightBlue Me.Controls.Add(DisplayContent) 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) ChildControlsCreated = True End Sub Private Sub submit_Click(ByVal sender As Object, _ ByVal e As EventArgs) ' Update the label string. If input.Text <> String.Empty Then Me.ContentText = Page.Server.HtmlEncode(input.Text) + "<br />" ' Clear the input textbox. input.Text = String.Empty DisplayContent.Text = Me.ContentText End If 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 TextDisplayWebPart : WebPart { private String _contentText = null; TextBox input; Label DisplayContent; const string _subTitle = "Contoso, Ltd"; public TextDisplayWebPart() { this.AllowClose = false; } [ Personalizable(PersonalizationScope.User, true), WebBrowsable() ] public String ContentText { get { return _contentText; } set { _contentText = value; } } protected override void CreateChildControls() { Controls.Clear(); DisplayContent = new Label(); DisplayContent.BackColor = System.Drawing.Color.LightBlue; DisplayContent.Text = this.ContentText; this.Controls.Add(DisplayContent); 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); ChildControlsCreated = true; } private void submit_Click(object sender, EventArgs e) { // Update the label string. if (input.Text != String.Empty) { this.ContentText = Page.Server.HtmlEncode(input.Text) + @"<br />"; // Clear the input textbox. input.Text = String.Empty; DisplayContent.Text = this.ContentText; } } } }
package Samples.AspNet.JSL.Controls; import System.*; import System.Security.Permissions.*; import System.Web.*; import System.Web.UI.WebControls.*; import System.Web.UI.WebControls.WebParts.*; /** @attribute AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal) */ /** @attribute AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal) */ public class TextDisplayWebPart extends WebPart { private String _contentText = null; private TextBox input; private Label displayContent; private String _subTitle = "Contoso, Ltd"; public TextDisplayWebPart() { this.set_AllowClose(false); } //TextDisplayWebPart /** @attribute Personalizable(PersonalizationScope.User, true) @attribute WebBrowsable() */ /** @property */ public String get_ContentText() { return _contentText; } //get_ContentText /** @property */ public void set_ContentText(String value) { _contentText = value; } //set_ContentText protected void CreateChildControls() { get_Controls().Clear(); displayContent = new Label(); displayContent.set_BackColor(System.Drawing.Color.get_LightBlue()); displayContent.set_Text(this.get_ContentText()); this.get_Controls().Add(displayContent); input = new TextBox(); this.get_Controls().Add(input); Button update = new Button(); update.set_Text("Set Label Content"); update.add_Click(new EventHandler(this.Submit_Click)); this.get_Controls().Add(update); set_ChildControlsCreated(true); } //CreateChildControls private void Submit_Click(Object sender, EventArgs e) { // Update the label string. if (!(input.get_Text().Equals(""))) { this.set_ContentText( this.get_Page().get_Server().HtmlEncode(input.get_Text()) + "<br />"); // Clear the input textbox. input.set_Text(""); displayContent.set_Text(this.get_ContentText()); } } //Submit_Click } //TextDisplayWebPart
この例の 2 番目の部分は、ASP.NET Web ページでカスタム パーツ コントロールを参照する方法を示しています。Part のさまざまなプロパティが、宣言によってカスタム コントロールのインスタンスに代入されています。ページ上の 2 つのインスタンスを参照する宣言コードを比較してから、ブラウザでページを読み込んでください。そして、さまざまなプロパティがコントロールの表示状態にどのように影響するかを確認します。たとえば、TextDisplayWebPart コントロールの 2 番目のインスタンスの ChromeState プロパティ値が Minimized に設定されているため、ブラウザでページをブ読み込むと、このインスタンスは最小化された状態で表示されます。
<%@ page language="VB" %> <%@ register tagprefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="TextDisplayWebPartVB" %> <html> <head id="Head1" runat="server"> </head> <body> <form id="Form1" runat="server"> <asp:webpartmanager id="WebPartManager1" runat="server" /> <asp:webpartzone id="WebPartZone1" runat="server" backcolor="#99cccc"> <parttitlestyle font-bold="true" forecolor="#ffffff" /> <partstyle borderwidth="1px" borderstyle="Solid" bordercolor="#81AAF2" /> <zonetemplate> <aspSample:TextDisplayWebPart runat="server" id="textwebpart" title = "Text Content WebPart" Description="A text content WebPart control." ChromeType="TitleAndBorder" width="350px" /> </zonetemplate> </asp:webpartzone> <asp:webpartzone id="WebPartZone2" runat="server" backcolor="#99cccc"> <parttitlestyle font-bold="true" forecolor="#ffffff" /> <partstyle borderwidth="1px" borderstyle="Solid" bordercolor="#81AAF2" /> <zonetemplate> <aspSample:TextDisplayWebPart runat="server" id="textwebpart2" title = "Text Content WebPart 2" Description="A text content WebPart control." ChromeType="TitleOnly" ChromeState="Minimized" width="350px" /> </zonetemplate> </asp:webpartzone> </form> </body> </html>
<%@ page language="C#" %> <%@ register tagprefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="TextDisplayWebPartCS" %> <html> <head id="Head1" runat="server"> </head> <body> <form id="Form1" runat="server"> <asp:webpartmanager id="WebPartManager1" runat="server" /> <asp:webpartzone id="WebPartZone1" runat="server" backcolor="#99cccc"> <parttitlestyle font-bold="true" forecolor="#ffffff" /> <partstyle borderwidth="1px" borderstyle="Solid" bordercolor="#81AAF2" /> <zonetemplate> <aspSample:TextDisplayWebPart runat="server" id="textwebpart" title = "Text Content WebPart" Description="A text content WebPart control." ChromeType="TitleAndBorder" width="350px" /> </zonetemplate> </asp:webpartzone> <asp:webpartzone id="WebPartZone2" runat="server" backcolor="#99cccc"> <parttitlestyle font-bold="true" forecolor="#ffffff" /> <partstyle borderwidth="1px" borderstyle="Solid" bordercolor="#81AAF2" /> <zonetemplate> <aspSample:TextDisplayWebPart runat="server" id="textwebpart2" title = "Text Content WebPart 2" Description="A text content WebPart control." ChromeType="TitleOnly" ChromeState="Minimized" width="350px" /> </zonetemplate> </asp:webpartzone> </form> </body> </html>
<%@ page language="VJ#" %> <%@ register tagprefix="aspSample" Namespace="Samples.AspNet.JSL.Controls" Assembly="TextDisplayWebPartJSL" %> <html> <head id="Head1" runat="server"> </head> <body> <form id="Form1" runat="server"> <asp:webpartmanager id="WebPartManager1" runat="server" /> <asp:webpartzone id="WebPartZone1" runat="server" backcolor="#99cccc"> <parttitlestyle font-bold="true" forecolor="#ffffff" /> <partstyle borderwidth="1px" borderstyle="Solid" bordercolor="#81AAF2" /> <zonetemplate> <aspSample:TextDisplayWebPart runat="server" id="textwebpart" title = "Text Content WebPart" Description="A text content WebPart control." ChromeType="TitleAndBorder" width="350px" /> </zonetemplate> </asp:webpartzone> <asp:webpartzone id="WebPartZone2" runat="server" backcolor="#99cccc"> <parttitlestyle font-bold="true" forecolor="#ffffff" /> <partstyle borderwidth="1px" borderstyle="Solid" bordercolor="#81AAF2" /> <zonetemplate> <aspSample:TextDisplayWebPart runat="server" id="textwebpart2" title = "Text Content WebPart 2" Description="A text content WebPart control." ChromeType="TitleOnly" ChromeState="Minimized" width="350px" /> </zonetemplate> </asp:webpartzone> </form> </body> </html>
System.Web.UI.Control
System.Web.UI.WebControls.WebControl
System.Web.UI.WebControls.Panel
System.Web.UI.WebControls.WebParts.Part
System.Web.UI.WebControls.WebParts.CatalogPart
System.Web.UI.WebControls.WebParts.EditorPart
System.Web.UI.WebControls.WebParts.WebPart
プラットフォーム
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
Part プロパティ
パブリック プロパティ
関連項目
Part クラスSystem.Web.UI.WebControls.WebParts 名前空間
その他の技術情報
ASP.NET Web パーツの概要Web パーツ コントロール セットの概要
ASP.NET Web パーツ ページ
Part メソッド
パブリック メソッド
名前 | 説明 | |
---|---|---|
System.Web.UI.WebControls.ICompositeControlDesignerAccessor.RecreateChildControls | 複合パーツ コントロールのデザイナの開発者が、デザイン サーフェイスでコントロールの子コントロールを再作成できるようにします。 |
関連項目
Part クラスSystem.Web.UI.WebControls.WebParts 名前空間
その他の技術情報
ASP.NET Web パーツの概要Web パーツ コントロール セットの概要
ASP.NET Web パーツ ページ
Part メンバ
Web フォーム ページ上にモジュール式のユーザー インターフェイスを表示する、すべての Web パーツのパーツ コントロールの基本クラスとして機能します。
パブリック プロパティ
名前 | 説明 | |
---|---|---|
DataBinding | サーバー コントロールがデータ ソースに連結すると発生します。(Control から継承されます。) | |
Disposed | サーバー コントロールがメモリから解放されると発生します。これは、ASP.NET ページが要求されている場合のサーバー コントロールの有効期間における最終段階です。(Control から継承されます。) | |
Init | サーバー コントロールが初期化されると発生します。これは、サーバー コントロールの有効期間における最初の手順です。(Control から継承されます。) | |
Load | サーバー コントロールが Page オブジェクトに読み込まれると発生します。(Control から継承されます。) | |
PreRender | Control オブジェクトの読み込み後、表示を開始する前に発生します。(Control から継承されます。) | |
Unload | サーバー コントロールがメモリからアンロードされると発生します。(Control から継承されます。) |
名前 | 説明 | |
---|---|---|
System.Web.UI.WebControls.ICompositeControlDesignerAccessor.RecreateChildControls | 複合パーツ コントロールのデザイナの開発者が、デザイン サーフェイスでコントロールの子コントロールを再作成できるようにします。 |
関連項目
Part クラスSystem.Web.UI.WebControls.WebParts 名前空間
その他の技術情報
ASP.NET Web パーツの概要Web パーツ コントロール セットの概要
ASP.NET Web パーツ ページ
Weblioに収録されているすべての辞書からPartを検索する場合は、下記のリンクをクリックしてください。
全ての辞書からPartを検索
- Partのページへのリンク