다음을 통해 공유


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입니다. controlGenericWebPart에 포함되지 않은 경우 이 메서드는 null을 반환합니다.

예외

control이(가) null인 경우

예제

다음 코드 예제에서는 GetGenericWebPart 메서드. 코드 예제에는 영역 내에 선언된 컨트롤이 포함되어 Calendar 있습니다 WebPartZone . 메서드는 Button1_Click 먼저 컨트롤의 Calendar ID를 레이블에 인쇄한 다음 메서드를 사용하여 GetGenericWebPart 달력을 래핑하는 컨트롤에 GenericWebPart 대한 참조를 검색합니다. 컨트롤의 GenericWebPart ID와 자식 컨트롤의 ID( 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 웹 파트 애플리케이션에 참여 합니다. WebPart 컨트롤에서 상속 되는 WebPart 기본 클래스 및 표준 수 있는 다른 서버 컨트롤 ASP.NET 컨트롤, 사용자 지정 컨트롤 또는 사용자 정의 컨트롤입니다. 이러한 컨트롤이 영역에 배치 WebPartZoneBase 되면 컨트롤의 WebPart 기능을 사용합니다. WebPart 컨트롤에는 기본적으로 이 기능이 있지만 다른 종류의 서버 컨트롤은 그렇지 않습니다. 다른 서버 컨트롤이 영역에 배치 WebPartZoneBase 되는 경우 컨트롤 역할을 WebPart 하도록 설정하려면 ASP.NET 컨트롤로 GenericWebPart 래핑합니다. 컨트롤은 GenericWebPart 클래스에서 WebPart 직접 상속되므로 해당 자식 컨트롤에 진정한 웹 파트 기능을 제공합니다.

종종 런타임에 페이지 개발자는 영역의 서버 컨트롤 중 하나가 포함된 컨트롤에 대한 참조 GenericWebPart 를 가져올 수 있습니다. 이 GetGenericWebPart 메서드를 사용하면 컨트롤에 대한 참조를 검색할 수 GenericWebPart 있습니다.

적용 대상

추가 정보