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

WebPart クラス

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

カスタムASP.NET Web パーツ コントロール基本クラスとして機能しPart 基本クラス機能に、いくつかのユーザー インターフェイス (UI) プロパティ接続作成する機能パーソナル化動作追加します

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

Public MustInherit Class
 WebPart
    Inherits Part
    Implements IWebPart, IWebActionable, IWebEditable
public abstract class WebPart : Part, IWebPart,
 IWebActionable, IWebEditable
public ref class WebPart abstract : public
 Part, IWebPart, IWebActionable, IWebEditable
public abstract class WebPart extends Part
 implements IWebPart, IWebActionable, 
    IWebEditable
public abstract class WebPart extends
 Part implements IWebPart, IWebActionable, 
    IWebEditable
解説解説

Web パーツ機能を持つコントロール作成する場合は、2 つ基本オプションありますWebPart クラスから派生するカスタム コントロール作成するオプションと、他のサーバー コントロール作成または使用するオプションです。既存ASP.NET コントロールカスタム サーバー コントロール、およびユーザー コントロールを WebPartZone ゾーン コントロール内で宣言する (またはプログラムによってこのゾーン コントロール追加する) ことによって、これらのコントロールに完全な Web パーツ機能追加できます。この結果コントロール実行時に GenericWebPart オブジェクトラップされ、真の WebPart コントロールとして扱われます。詳細については、GenericWebPart クラスドキュメント参照してください開発速度上げコードをできる限り再利用するためには、既存サーバー コントロール使用お勧めます。コントロール動作Web パーツ機能プログラム最大限制御するためには、多く場合WebPart クラスから継承するカスタム コントロール作成する方法最適です。

WebPart 抽象クラスは、Part 基本コントロールか継承しすべての WebPart コントロール基本要素提供しますクラスには、UI外観影響するプロパティの共通セット含まれます。AllowClose、AllowConnect、AllowEdit、AllowHide、AllowMinimize、および AllowZoneChange の各プロパティは、Web アプリケーションユーザー特定のプロパティ名で示される方法パーツ コントロールやり取りすることを許可するかどうか指定します。CatalogIconImageUrl、ChromeState、ChromeType、DescriptionHeight、HelpUrl、HiddenTitle、TitleIconImageUrl、TitleUrl、および Width の各プロパティは、WebPart コントロールサイズ可視性外観、およびサポートしている内容 (タイトル説明など) を指定します

WebPart コントロールと、Web パーツ コントロール セット内にあるその内容との関係は、コントロール関連付けられている WebPartManager オブジェクトへの参照保持する WebPartManager や、コントロール格納する WebZone を参照する Zone などのプロパティによって決まりますWebPartManager コントロールは各ページ1 つだけです。また、WebPart コントロールの各インスタンスは、一度1 つだけWebZone 内に配置できます

メモメモ

WebPart コントロールは、Web ページ内のゾーン外部配置できますが、この場合通常のサーバー コントロールとして機能し、ほぼすべての Web パーツ機能失われます。

他のいくつかの重要なプロパティは、WebPart コントロール固有の機能影響します。AuthorizationFilter プロパティ使用すると、実行時コントロールページ追加されるかどうか決定するフィルタとして使用できる任意の文字列を、開発者設定できますAuthorizationFilter プロパティは、ロール管理などの機能と共に使用され定義済みユーザー ロール基づいたビューの作成に役立つ機構提供します。ExportMode プロパティは、エクスポート中にコントロール利用可能すべてのプロパティ データエクスポートされるか、または機密以外のデータだけがエクスポートされるかを示します。これによって、開発者は、セキュリティ目的機密データそれ以外データ区別できます。WebBrowsableObject プロパティは、WebPart コントロールインスタンスへの参照返してページ編集モード場合に、そのコントロールを EditorPart コントロール編集できるようにします。最後にページ残り部分関連するコントロールステータスを示すいくつかのプロパティあります。IsClosed プロパティは、コントロール終了されている (したがって PageCatalogPart オブジェクト追加されている) かどうか、またはページ開かれ利用できるようになっているかどうか示します。IsShared プロパティは、コントロールが、(ユーザー固有のコントロールに対して) 共有コントロールであるかどうか示します共有コントロールは、Web ページすべてのユーザー表示されます。IsStandalone プロパティは、コントロールが現在 (WebPartZone などの) WebPartZoneBase 派生ゾーン含まれているかどうか示しますfalse 値は、コントロールゾーン内にあり、したがって完全な Web パーツ機能備えていることを示します。IsStatic プロパティは、コントロール静的動的かを示しますスタティック コントロールは、Web ページマークアップ宣言されますが、ダイナミック コントロールプログラム追加されます。

WebPart クラスには、コントロール有効期間中のさまざまな時点での動作決定するいくつかのメソッド用意されています。たとえば、OnConnectModeChanged メソッドおよび OnEditModeChanged メソッド両方派生クラスオーバーライドして、各メソッドの名前に対応するイベントでのコントロール内容表示プログラムによって制御できます

WebPart から派生するクラスは、WebPartVerb オブジェクトを Verbs コレクション追加できます動詞は、WebPart コントロールタイトル バー表示される動詞メニュー表示されます。WebPartVerb オブジェクトは、コントロールの非表示最小化ヘルプ表示などの一般的なユーザー アクション対す単純な UI 要素提供します

CreateEditorParts メソッドは、WebPart コントロール関連付けられているカスタム EditorPart コントロールコレクション作成します開発者は、WebPart コントロール編集用にデザインされカスタム コントロール作成するように、このメソッドオーバーライドできます。このメソッドは、ユーザーWebPart コントロールedit 動詞クリックしたときに呼び出されます。

使用例使用例

WebPart コントロール作成し、それを Web ページ参照する方法次のコード例示します

例の最初部分には、TextDisplayWebPart という名前のカスタム WebPart コントロールコード含まれています。このコントロールは、Web パーツ コントロール セット機能利用できるようにする単純なカスタム WebPart コントロール作成する方法示しますコード例実行するためには、このソース コードコンパイルする必要があります。それを明示的にコンパイルし、コンパイル済みアセンブリWeb サイトBin フォルダまたはグローバル アセンブリ キャッシュ配置できますサイトの App_Code フォルダソース コード配置し実行時動的にコンパイルすることもできます。このコード例は、ソース コードアセンブリコンパイルし、それを各自Web アプリケーションBin サブフォルダ配置しアセンブリ各自Web ページRegister ディレクティブ参照することを前提にしています。両方コンパイル方法を示すチュートリアルについては、「チュートリアル : カスタム サーバー コントロール開発と使用」を参照してください

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 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
            _contentText = input.Text & "<br />"
            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;

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

    [Personalizable(), 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)
      {
        _contentText = input.Text + @"<br />";
        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;

    public TextDisplayWebPart()
    {
        this.set_AllowClose(false);
    } //TextDisplayWebPart

    /** @attribute Personalizable()
        @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(""))) {
            _contentText = input.get_Text() + "<br />";
            input.set_Text("");
            displayContent.set_Text(this.get_ContentText());
        }
    } //Submit_Click
} //TextDisplayWebPart

この例の 2 番目の部分は、ASP.NET Web ページTextDisplayWebPart コントロール参照する方法示してます。さまざまな WebPart プロパティ多くは、宣言によってカスタム コントロール代入できます

<%@ 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"
      title="Zone 1"
      PartChromeType="TitleAndBorder">
        <parttitlestyle font-bold="true" ForeColor="#3300cc"
 />
        <partstyle
          borderwidth="1px"   
          borderstyle="Solid"  
          bordercolor="#81AAF2" />
        <zonetemplate>
          <aspSample:TextDisplayWebPart 
            runat="server"   
            id="textwebpart" 
            title = "Text Content WebPart" />
        </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"
      title="Zone 1"
      PartChromeType="TitleAndBorder">
        <parttitlestyle font-bold="true" ForeColor="#3300cc"
 />
        <partstyle
          borderwidth="1px"   
          borderstyle="Solid"  
          bordercolor="#81AAF2" />
        <zonetemplate>
          <aspSample:TextDisplayWebPart 
            runat="server"   
            id="textwebpart" 
            title = "Text Content WebPart" />
        </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"
      title="Zone 1"
      PartChromeType="TitleAndBorder">
        <parttitlestyle font-bold="true" ForeColor="#3300cc"
 />
        <partstyle
          borderwidth="1px"   
          borderstyle="Solid"  
          bordercolor="#81AAF2" />
        <zonetemplate>
          <aspSample:TextDisplayWebPart 
            runat="server"   
            id="textwebpart" 
            title = "Text Content WebPart" />
        </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.WebPart
             System.Web.UI.WebControls.WebParts.GenericWebPart
             System.Web.UI.WebControls.WebParts.ProxyWebPart
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



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

辞書ショートカット

すべての辞書の索引

「WebPart クラス」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS