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

GenericWebPart クラス

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

WebPart コントロールではないサーバー コントロールが、実行時本物WebPart コントロールのように表示されたり、動作したりするように、ラップます。

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

Public Class GenericWebPart
    Inherits WebPart
Dim instance As GenericWebPart
public class GenericWebPart : WebPart
public ref class GenericWebPart : public
 WebPart
public class GenericWebPart extends WebPart
public class GenericWebPart extends
 WebPart
解説解説

GenericWebPart コントロールは、WebPart コントロールではないサーバー コントロールのためのランライム ラッパー提供し、これによって、これらのコントロールWeb パーツ ページWeb パーツ アプリケーション使用できるようになります開発者が、ユーザー コントロールASP.NET サーバー コントロール、または既存カスタム コントロールなどのサーバー コントロールを WebPartZoneBase コントロール追加する場合には、GenericWebPart コントロールが、実行時サーバー コントロール自動的にラップするため、それらのコントロールは、本物WebPart コントロール同様の機能を提供できます

GenericWebPart コントロールWebPart コントロール比較を、次の表に示します

GenericWebPart コントロール

WebPart コントロール

ASP.NET コントロールカスタム コントロール、またはユーザー コントロールWeb パーツ アプリケーションコントロールとして使用できるように、WebPart コントロールではないサーバー コントロールWeb パーツ機能装備するために存在します

組み込みネイティブWeb パーツ機能を持つカスタムASP.NET コントロール作成するために存在します。これには、パーソナル化接続インポートとエクスポート、およびドラッグ アンド ドロップ機能含まれます。

ページマークアップでは宣言されません。サーバー コントロール実行時ラップするためにだけ存在しラップされるコントロールまたはラップされる子コントロールWebPart コントロールすべての機能提供します

ASP.NET サーバー コントロール同様にデザイン時にページマークアップ宣言できますが、WebPartZoneBase ゾーンでは宣言できません。

コントロールWeb パーツパーソナル化プロセス追加および統合するため、本物WebPart コントロールのように動作させることができます。これは自動的に行われるため、開発者が、Web パーツ アプリケーションサーバー コントロールおよびユーザー コントロール簡単に使用できるようになります

Web パーツ パーソナル化プロセス自動的に追加されます。

(GetGenericWebPart メソッド使用し、そのメソッドに子サーバー コントロールを渡すことによって) 本物WebPart コントロール標準 ASP.NET コントロール同様に実行時プログラムによってアクセスできます

標準 ASP.NET コントロール同様に実行時プログラムによってアクセスできます

ユーザーにとっての利点は、GenericWebPart コントロールによって一貫性のある操作方法提供されることです。すべてのサーバー コントロールで、WebPart コントロール同様の機能実行でき、動詞アイコンタイトル、およびヘッダーなど、一貫性のある同じユーザー インターフェイス (UI: User Interface) 要素装備することもできます開発者にとっての利点は、GenericWebPart コントロールによって既存ユーザー コントロールおよび既存サーバー コントロールWeb パーツ アプリケーション再利用できるようになることです。

WebPartZoneBase ゾーン配置されるサーバー コントロールは、実行時GenericWebPart コントロールラップされるため、開発者通常のサーバー コントロールおよびユーザー コントロールを、それらが WebPart コントロールあるかのように使用できます。WebPartZone 内の基本 Control クラスから継承したカスタム コントロール宣言する場合、これらのコントロールは、組み込みWebPart プロパティ使用サポートできないこと注意してくださいこのためTitle プロパティDescription プロパティなどのプロパティ含めそのようなコントロールには IWebPart プロパティ宣言できません。対照的にその他の種類サーバー コントロール (WebPart コントロールユーザー コントロール、WebControl から継承したカスタム コントロールなど) では、expando プロパティ使用サポートされるため、これらのプロパティ宣言できます

expando プロパティは、実際は、IAttributeAccessor インターフェイス通じてプロパティとしてクラス動的に追加できる文字列です。WebControl クラスその子含め、このインターフェイス実装するコントロールでは、expando プロパティ使用できます基本 Control クラスでは expando プロパティサポートされないため、Control クラスから継承したカスタム コントロールWebPartZone配置し実行時GenericWebPart コントロールラップしても、Web パーツ コントロール セット組み込みIWebPart プロパティカスタム コントロール動的に追加できません。この場合2 つ選択肢ありますIWebPart プロパティ持たないカスタム コントロール使用するか、またはカスタム コントロールIWebPart インターフェイス実装し、そのプロパティ使用できるようにします。

WebControl から継承したコントロールIWebPart プロパティ使用できる例として、デザイン時に ASP.NETCalendar コントロールを (WebPartZoneBase ゾーン内の) ページマークアップ宣言すると、このコントロールWebPart クラスから継承しておらず、またネイティブでは WebPartメンバ含みませんが、WebPart コントロールあるかのように扱うことができますTitleDescriptionその他のカレンダー コントロールWebPart プロパティ宣言できます実行時に、GetGenericWebPart メソッド使用して GenericWebPart コントロール返すことができます。このコントロールではカレンダー コントロール動的にラップし、そのコントロールWebPart コントロールあるかのように、まったく同じプロパティイベントメソッド使用してプログラムかアクセスできます

GenericWebPart コントロールには、基になるサーバー コントロールアクセスするための重要なプロパティである ChildControl プロパティ存在します。このプロパティによって、開発者プログラムサーバー コントロールアクセスできますまた、ChildControl プロパティは、子コントロールからのパーソナル化データアクセスするため、および AuthorizationFilter プロパティ設定されている場合承認実行するために、WebPartManager コントロールでも使用されます。

GenericWebPart コントロールには、他にもいくつかのプロパティ存在します。これらは、いずれも基本 WebPart クラスから継承されプロパティオーバーライドます。前述のように、これらのプロパティは子コントロールと共に使用できるため、WebPart コントロールのように動作できます。ExportMode プロパティ重要なプロパティで、エクスポートできるすべてのプロパティ、または機密性高くないものとしてマークされプロパティのみをエクスポートできるかどうか判断できます。CatalogIconImageUrl、DescriptionHeightTitle、TitleUrl、Width などの WebPart クラスから継承されUI 用のプロパティは、WebPartZoneBase ゾーン配置されるサーバー コントロールに対して宣言型マークアップ設定できます

GenericWebPart クラス重要なメソッドには CreateControlCollection メソッド含まれGenericWebPart コントロール関連付けられているコントロール (子コントロールも含む) のコレクション作成しますまた、Render メソッドは、ラップされた子コントロールへのすべての出力代行します。GenericWebPart クラスコンストラクタプロテクト メンバで、アプリケーション内部使用または機能拡張いずれか用途使用されます。

GenericWebPart コントロール使用方法理解に役立つ情報を、次に示しますGenericWebPart クラスオーバーライドされたプロパティ既定値設定する場合ユーザー コントロールまたはカスタム サーバー コントロールで、IWebPart インターフェイスと IWebActionable インターフェイス実装し、それらのメンバオーバーライドできますGenericWebPart コントロールは、実装されたプロパティの値を、そのインターフェイス実装している子コントロールか実行時取得しますコントロールPersonalizable メタデータ属性使用してプロパティパーソナル化できるものとして定義されている場合GenericWebPart コントロールは、WebPart コントロールパーソナル化できるプロパティ同様に、それらのプロパティ実行時パーソナル化自動的に有効化ます。

コントロールWeb パーツ編集機能持たせる場合は、IWebEditable インターフェイス実装できます実行時に CreateEditorParts メソッド呼び出されると、GenericWebPart コントロールの WebBrowsableObject プロパティコードが子コントロール内の同一プロパティ呼び出し、子コントロール実装使用して関連付けられたカスタム EditorPart コントロール作成します

継承時の注意 場合によっては、GenericWebPart クラスから継承する必要があります1 つの例として、GenericWebPart コントロール作成時に開発者コンストラクタ内にカスタム動作実装する場合あります。たとえば、子コントロールGenericWebPart クラス内のコントロールコレクション以外の場所に格納することが必要な場合ありますGenericWebPart クラスから継承する場合は、WebPartManager クラスからも継承して、その CreateWebPart メソッドオーバーライドして、カスタム コントロール作成できるようにする必要があります

使用例使用例

GenericWebPart コントロールが、WebPart コントロールではないサーバー コントロール実行時自動的にラップする方法次のコード例示します

コード例最初部分には、2 つWebPartZone コントロール存在する Web パーツ ページ含まれています。各ゾーンには、標準 ASP.NET サーバー コントロール存在しますコントロールWebPartZone ゾーン内に存在するため、ページコンパイルされると、それらのコントロール自動的に GenericWebPart コントロールラップされます。したがって、これらのコントロールWebPart クラスプロパティ宣言できますブラウザページ読み込み、[Display All Property Values] ボタンクリックすると、各コントロール詳細ラベル内に表示されます。GenericWebPart コントロール動作表示するために、最初ゾーンCalendar コントロールでは一部GenericWebPart プロパティ.aspx ページ宣言型マークアップ設定されますが、BulletedList コントロールでは同様の設定はされません。ページ読み込んだ後で2 つコントロールプロパティ値の違いと、両方が親 GenericWebPart コントロールを持つことに注意してください

<%@ Page Language="vb" 
  Codefile="genericwebpart.vb" 
  Inherits="genericwebpart_sample"
 %>
<html  >
<head id="Head1" runat="server">
    <title>GenericWebPart Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:WebPartManager ID="WebPartManager1"
 runat="server">
      </asp:WebPartManager>
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:Calendar ID="Calendar1" runat="server"
            Title="My Calendar"
            Description="A calendar used as a GenericWebPart control."
            CatalogIconImageUrl="MyCatalogIcon.gif"
            TitleIconimageUrl ="MyTitleIcon.gif"
            TitleUrl="MyInfoUrl.htm" 
            Width="250"/>
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:WebPartZone ID="WebPartZone2" runat="server">
        <ZoneTemplate>
          <asp:BulletedList ID="BulletedList1"
 
            Runat="server"
            DisplayMode="HyperLink">
            <asp:ListItem Value="http://msdn.microsoft.com">
              MSDN
            </asp:ListItem>
            <asp:ListItem Value="http://www.asp.net">
              ASP.NET
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
              MSN
            </asp:ListItem>
          </asp:BulletedList>        
        </ZoneTemplate>
      </asp:WebPartZone>
      <hr />
      <asp:Button ID="Button1" width="200"
        runat="server" 
        Text="Display All Property Values" OnClick="Button1_Click"
 /> 
      <br />
      <asp:Label ID="Label2" runat="server"
 Text="" />
      <br />   
      <asp:Label ID="Label3" runat="server"
 Text="" />
    </form>
</body>
</html>
<%@ Page Language="C#" 
  Codefile="genericwebpart.cs" 
  Inherits="genericwebpart_sample" %>
<html  >
<head runat="server">
    <title>GenericWebPart Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:WebPartManager ID="WebPartManager1" runat="server">
      </asp:WebPartManager>
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:Calendar ID="Calendar1" runat="server"
            Title="My Calendar"
            Description="A calendar used as a GenericWebPart control."
            CatalogIconImageUrl="MyCatalogIcon.gif"
            TitleIconimageUrl ="MyTitleIcon.gif"
            TitleUrl="MyInfoUrl.htm" 
            Width="250"/>
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:WebPartZone ID="WebPartZone2" runat="server">
        <ZoneTemplate>
          <asp:BulletedList ID="BulletedList1" 
            Runat="server"
            DisplayMode="HyperLink">
            <asp:ListItem Value="http://msdn.microsoft.com">
              MSDN
            </asp:ListItem>
            <asp:ListItem Value="http://www.asp.net">
              ASP.NET
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
              MSN
            </asp:ListItem>
          </asp:BulletedList>        
        </ZoneTemplate>
      </asp:WebPartZone>
      <hr />
      <asp:Button ID="Button1" width="200"
        runat="server" 
        Text="Display All Property Values" OnClick="Button1_Click"
 /> 
      <br />
      <asp:Label ID="Label2" runat="server" Text=""
 />
      <br />   
      <asp:Label ID="Label3" runat="server" Text=""
 />
    </form>
</body>
</html>

コード例2 番目の部分では、GenericWebPart コントロール一部プロパティプログラムアクセスする部分クラスについて説明してます。Page_Load メソッドでは、サーバー コントロールラップする GenericWebPart コントロールランタイムインスタンス取得するために、GetGenericWebPart メソッド使用されています。この方法で親 GenericWebPart コントロールへの参照取得すると、通常のサーバー コントロールまたはユーザー コントロールWebPart コントロールあるかのように、実行時プログラムか操作できるようになります

Imports System
Imports System.Data
Imports System.Configuration
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls

Partial Public Class genericwebpart_sample

  Inherits System.Web.UI.Page

  Private calendarPart As GenericWebPart
  Private listPart As GenericWebPart

  Protected Sub Page_Load(ByVal
 sender As [Object], ByVal e As
 EventArgs)
    calendarPart = WebPartManager1.GetGenericWebPart(Calendar1)
    listPart = WebPartManager1.GetGenericWebPart(BulletedList1)

    If Not IsPostBack Then
      Label2.Text = String.Empty
      Label3.Text = String.Empty
    End If

  End Sub


  Protected Sub Button1_Click(ByVal
 sender As Object, ByVal
 e As EventArgs)

    Label2.Text = _
      "<h3>Calendar GenericWebPart Properties</h3>"
 & _
      "<em>Title: </em>" & calendarPart.Title
 & _
      "<br />" & _
      "<em>CatalogIconImageUrl:  </em>"
 & calendarPart.CatalogIconImageUrl & _
      "<br />" & _
      "<em>TitleUrl: </em>" & calendarPart.TitleUrl
 & _
      "<br />" & _
      "<em>Decription: </em>" & calendarPart.Description
 & _
      "<br />" & _
      "<em>TitleIconImageUrl: </em>" &
 calendarPart.TitleIconImageUrl & _
      "<br />" & _
      "<em>ChildControl ID: </em>" &
 calendarPart.ChildControl.ID & _
      "<br />" & _
      "<em>ChildControl Type: </em>" &
 calendarPart.ChildControl.GetType().Name & _
      "<br />" & _
      "<em>GenericWebPart ID: </em>" &
 calendarPart.ID & _
      "<br />" & _
      "<em>GenericWebPart Type: </em>"
 & calendarPart.GetType().Name & _
      "<br />" & _
      "<em>GenericWebPart Parent ID: </em>"
 & calendarPart.Parent.ID

    Label3.Text = _
      "<h3>BulletedList GenericWebPart Properties</h3>"
 & _
      "<em>Title: </em>" & listPart.Title
 & _
      "<br />" & _
      "<em>CatalogIconImageUrl:  </em>"
 & listPart.CatalogIconImageUrl & _
      "<br />" & _
      "<em>TitleUrl: </em>" & listPart.TitleUrl
 & _
      "<br />" & _
      "<em>Decription: </em>" & listPart.Description
 & _
      "<br />" & _
      "<em>TitleIconImageUrl: </em>" &
 listPart.TitleIconImageUrl & _
      "<br />" & _
      "<em>ChildControl ID: </em>" &
 listPart.ChildControl.ID & _
      "<br />" & _
      "<em>ChildControl Type: </em>" &
 listPart.ChildControl.GetType().Name & _
      "<br />" & _
      "<em>GenericWebPart ID: </em>" &
 listPart.ID & _
      "<br />" & _
      "<em>GenericWebPart Type: </em>"
 & listPart.GetType().Name & _
      "<br />" & _
      "<em>GenericWebPart Parent ID: </em>"
 & listPart.Parent.ID
  End Sub

End Class

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class genericwebpart_sample
 : System.Web.UI.Page
{
  GenericWebPart calendarPart;
  GenericWebPart listPart;

  protected void Page_Load(Object sender, EventArgs
 e)
  {
    calendarPart = WebPartManager1.GetGenericWebPart(Calendar1);
    listPart = WebPartManager1.GetGenericWebPart(BulletedList1);

    if (!IsPostBack)
    {
      Label2.Text = String.Empty;
      Label3.Text = String.Empty;
    }
  }

  protected void Button1_Click(object sender,
 EventArgs e)
  {

    Label2.Text =
      @"<h3>Calendar GenericWebPart Properties</h3>" +
      "<em>Title: </em>" + calendarPart.Title +
      "<br />" +
      "<em>CatalogIconImageUrl:  </em>" + calendarPart.CatalogIconImageUrl
 +
      "<br />" +
      "<em>TitleUrl: </em>" + calendarPart.TitleUrl +
      "<br />" +
      "<em>Decription: </em>" + calendarPart.Description +
      "<br />" +
      "<em>TitleIconImageUrl: </em>" + calendarPart.TitleIconImageUrl
 +
      "<br />" +
      "<em>ChildControl ID: </em>" + calendarPart.ChildControl.ID
 +
      "<br />" +
      "<em>ChildControl Type: </em>" + calendarPart.ChildControl.GetType().Name
 +
      "<br />" +
      "<em>GenericWebPart ID: </em>" + calendarPart.ID +
      "<br />" +
      "<em>GenericWebPart Type: </em>" + calendarPart.GetType().Name
 +
      "<br />" +
      "<em>GenericWebPart Parent ID: </em>" + calendarPart.Parent.ID;

    Label3.Text =
      @"<h3>BulletedList GenericWebPart Properties</h3>" +
      "<em>Title: </em>" + listPart.Title +
      "<br />" +
      "<em>CatalogIconImageUrl:  </em>" + listPart.CatalogIconImageUrl
 +
      "<br />" +
      "<em>TitleUrl: </em>" + listPart.TitleUrl +
      "<br />" +
      "<em>Decription: </em>" + listPart.Description +
      "<br />" +
      "<em>TitleIconImageUrl: </em>" + listPart.TitleIconImageUrl
 +
      "<br />" +
      "<em>ChildControl ID: </em>" + listPart.ChildControl.ID
 +
      "<br />" +
      "<em>ChildControl Type: </em>" + listPart.ChildControl.GetType().Name
 +
      "<br />" +
      "<em>GenericWebPart ID: </em>" + listPart.ID +
      "<br />" +
      "<em>GenericWebPart Type: </em>" + listPart.GetType().Name
 +
      "<br />" +
      "<em>GenericWebPart Parent ID: </em>" + listPart.Parent.ID;
  }

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



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  
  •  GenericWebPart クラスのページへのリンク

辞書ショートカット

すべての辞書の索引

「GenericWebPart クラス」の関連用語

1
GenericWebPart コンストラクタ .NET Framework クラス ライブラリ リファレンス
90% |||||

2
GenericWebPart.ChildControl プロパティ .NET Framework クラス ライブラリ リファレンス
74% |||||

3
GenericWebPart.CreateControlCollection メソッド .NET Framework クラス ライブラリ リファレンス
58% |||||

4
WebPartManager.GetGenericWebPart メソッド .NET Framework クラス ライブラリ リファレンス
58% |||||

5
GenericWebPart.TitleIconImageUrl プロパティ .NET Framework クラス ライブラリ リファレンス
56% |||||

6
GenericWebPart.TitleUrl プロパティ .NET Framework クラス ライブラリ リファレンス
56% |||||

7
GenericWebPart.CatalogIconImageUrl プロパティ .NET Framework クラス ライブラリ リファレンス
56% |||||

8
GenericWebPart.Title プロパティ .NET Framework クラス ライブラリ リファレンス
56% |||||

9
GenericWebPart.Description プロパティ .NET Framework クラス ライブラリ リファレンス
54% |||||

10
GenericWebPart.Verbs プロパティ .NET Framework クラス ライブラリ リファレンス
54% |||||

検索ランキング

   

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



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

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

©2025 GRAS Group, Inc.RSS