WebPartManager.GetGenericWebPart(Control) メソッド

定義

サーバー コントロールが含まれた GenericWebPart コントロールのインスタンスへの参照を取得します。

public:
 System::Web::UI::WebControls::WebParts::GenericWebPart ^ GetGenericWebPart(System::Web::UI::Control ^ control);
public System.Web.UI.WebControls.WebParts.GenericWebPart GetGenericWebPart (System.Web.UI.Control control);
member this.GetGenericWebPart : System.Web.UI.Control -> System.Web.UI.WebControls.WebParts.GenericWebPart
Public Function GetGenericWebPart (control As Control) As GenericWebPart

パラメーター

control
Control

WebPartZoneBase 内に存在し、実行時に GenericWebPart の子コントロールとしてラップされるサーバー コントロール。

戻り値

GenericWebPart

control を子コントロールとしてラップする GenericWebPart。 このメソッドは、GenericWebPartcontrol が含まれていない場合は null を返します。

例外

controlnullです。

次のコード例では、このメソッドの使用方法を GetGenericWebPart 示します。 コード例には、ゾーン内で Calendar 宣言されたコントロールが WebPartZone 含まれています。 このメソッドは Button1_Click 、最初にコントロールの Calendar ID をラベルに出力してから、そのメソッドを GetGenericWebPart 使用してカレンダーをラップするコントロールへの GenericWebPart 参照を取得します。 コントロールの GenericWebPart ID と、その子コントロールの ID (コントロール) は、両方とも 2 番目の Calendar ラベルに出力されます。

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
 
  protected void Button1_Click(object sender, EventArgs e)
  {
    Label1.Text = "<h2>Server Control</h2>";
    Label1.Text += "Server Control ID:  " + Calendar1.ID;
    Label2.Text = "<h2>GenericWebPart Control</h2>";
    GenericWebPart part = mgr.GetGenericWebPart(Calendar1);
    if (part != null)
    {
      Label2.Text +=
        "GenericWebPart ID:  " + part.ID + "<br />";
      Label2.Text +=
        "Underlying Control ID: " + part.ChildControl.ID;
    }
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="mgr" runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:Calendar ID="Calendar1" runat="server"
            Title="My Calendar" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:Button ID="Button1" runat="server" 
        Text="Get GenericWebPart"
        OnClick="Button1_Click" />
      <hr />
      <asp:Label ID="Label1" runat="server" Text="" />
      <br />
      <asp:Label ID="Label2" runat="server" Text="" />
    </div>
    </form>
</body>
</html>
<%@ Page Language="vb" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
 
  Protected Sub Button1_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs)
    
    Label1.Text = "<h2>Server Control</h2>"
    Label1.Text += "Server Control ID:  " + Calendar1.ID
    Label2.Text = "<h2>GenericWebPart Controls</h2>"
    Dim part As GenericWebPart
    part = mgr.GetGenericWebPart(Calendar1)
    If part IsNot Nothing Then
      Label2.Text += _
        "GenericWebPart ID:  " & part.ID & "<br />"
      Label2.Text += _
        "Underlying Control ID: " + part.ChildControl.ID
    End If
    
  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="mgr" runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:Calendar ID="Calendar1" runat="server"
            Title="My Calendar" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:Button ID="Button1" runat="server" 
        Text="Get GenericWebPart"
        OnClick="Button1_Click" />
      <hr />
      <asp:Label ID="Label1" runat="server" Text="" />
      <br />
      <asp:Label ID="Label2" runat="server" Text="" />
    </div>
    </form>
</body>
</html>

注釈

一般に、開発者がゾーンにWebPartZoneBase配置するコントロールには、Web パーツ 基本クラスからWebPart継承するコントロールと、標準の ASP.NET WebPart コントロール、カスタム コントロール、またはユーザー コントロールの 2 つのカテゴリがあります。 これらのコントロールのいずれかがゾーンに WebPartZoneBase 配置されると、コントロールの機能が WebPart 利用されます。 WebPartコントロールには本質的にこの機能がありますが、他の種類のサーバー コントロールは機能しません。 他のサーバー コントロールがゾーンに配置WebPartZoneBaseされたときにコントロールとしてWebPart機能できるようにするには、コントロールでラップ GenericWebPart ASP.NET。 コントロールはGenericWebPartクラスからWebPart直接継承されるため、子コントロールに真のWeb パーツ機能を提供します。

多くの場合、実行時に、ページ開発者は、ゾーン内のサーバー コントロールの 1 つを含むコントロールへの GenericWebPart 参照を取得する必要があります。 この GetGenericWebPart メソッドを使用すると、コントロールへの参照を GenericWebPart 取得できます。

適用対象

こちらもご覧ください