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

Part クラス

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

Web フォーム ページ上にモジュール式のユーザー インターフェイス表示するすべての Web パーツパーツ コントロール基本クラスとして機能します

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

Public MustInherit Class
 Part
    Inherits Panel
    Implements INamingContainer, ICompositeControlDesignerAccessor
public abstract class Part : Panel, INamingContainer,
 ICompositeControlDesignerAccessor
public ref class Part abstract : public
 Panel, INamingContainer, ICompositeControlDesignerAccessor
public abstract class Part extends Panel implements
 INamingContainer, ICompositeControlDesignerAccessor
public abstract class Part extends
 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 パーツ機能失われます。たとえば、コントロール編集したり、実行時ゾーン内にドラッグしたりすることはできません。また、パーツ コントロールは、実行時ページ上でゾーンからドラッグしてゾーン外側ドロップできないことにも注意してください

基本パーツ種類各種類に対応するゾーン種類いくつかの例を、次の表に示します

パーツ コントロール種類

ゾーン種類

WebPart

WebPartZone

EditorPart

EditorZone

CatalogPart

CatalogZone

Part クラスから派生するさまざまな種類パーツ コントロールでは、継承されUI 志向プロパティさまざまな方法処理されます。WebPart コントロールでは、継承されUI プロパティいくつかオーバーライドし、Personalizable 属性使用してこれらのプロパティマークします (詳細については、PersonalizableAttribute クラス説明参照)。これにより、今後ブラウザ セッション用にこれらのプロパティの値を保存できます (この機能パーソナル化呼びます)。たとえば、プログラムによって、実行時ユーザーWebPart コントロールTitle プロパティの値を更新できるようにした場合、その値はパーソナル化されます。ただし、パーソナル化有効になっていることが前提です (既定では有効)。WebPart コントロールPart クラスおよび WebControl クラスから継承するいくつかの UI プロパティは、同じ方法処理されます。

これに対して、他の EditorPartCatalogPart などのパーツ コントロールでは、継承されUI プロパティパーソナル化できません。このためプログラムによって代入されプロパティ値は、今後ブラウザ セッション用に保存されません。たとえば、プログラムによって、実行時ユーザーが PropertyGridEditorPart コントロールTitle プロパティ更新できるようにした場合更新された値は、そのコントロール閉じられた後、またはブラウザ セッション終了後失われます。

EditorPart コントロールおよび CatalogPart コントロールこのような継承されUI プロパティの値を今後ブラウザ セッション用に保存する簡単な方法は、ページ内でプロパティ値を永続形式宣言することです。ただし、この方法は静的なので、この方法ではユーザープロパティ値をパーソナル化できません。そのため、継承されUI プロパティプログラムによって更新してユーザー実行時パーソナル化できるようにする場合は、プライベート静的変数使用してプロパティ値を保存できますEditorPart コントロールまたは CatalogPart コントロール新しインスタンスが (コントロールInit イベント処理するメソッドなどで) 作成されるたびに、対応するプロパティ静的変数の値を代入し直すことができますこのような方法使用すると、Web パーツ アプリケーション編集 UIカタログ UIユーザーパーソナル化できるようになります

継承時の注意 通常は、直接 Part クラスから継承させて、カスタム Web パーツ コントロール開発しないようにしてくださいWeb パーツの完全な機能実現するには、Web パーツ コントロール セットに、Part クラスから継承されクラス (つまり WebPartEditorPart、および 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>
.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
   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
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


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

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

辞書ショートカット

すべての辞書の索引

「Part クラス」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS