WebPartManager.CreateWebPart(Control) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
WebPart 컨트롤이 아닌 서버 컨트롤을 GenericWebPart 개체로 래핑하여 웹 파트 기능을 갖도록 합니다.
public:
virtual System::Web::UI::WebControls::WebParts::GenericWebPart ^ CreateWebPart(System::Web::UI::Control ^ control);
public virtual System.Web.UI.WebControls.WebParts.GenericWebPart CreateWebPart (System.Web.UI.Control control);
abstract member CreateWebPart : System.Web.UI.Control -> System.Web.UI.WebControls.WebParts.GenericWebPart
override this.CreateWebPart : System.Web.UI.Control -> System.Web.UI.WebControls.WebParts.GenericWebPart
Public Overridable Function CreateWebPart (control As Control) As GenericWebPart
매개 변수
반환
control
을 래핑하여 실제 GenericWebPart 컨트롤처럼 동작할 수 있게 하는 WebPart입니다.
예제
다음 코드 예제에서는 사용 하는 방법을 보여 줍니다는 CreateWebPart 메서드. 에서 Button2_Click method
메서드는 CreateWebPart 영역에 추가하기 전에 개체를 사용하여 컨트롤을 GenericWebPart 래핑 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 Button2_Click(object sender, EventArgs e)
{
WebPartManager mgr = WebPartManager1;
Calendar cal = new Calendar();
cal.ID = "cal1";
GenericWebPart calWebPart = mgr.CreateWebPart(cal);
mgr.AddWebPart(calWebPart, WebPartZone1, 1);
}
protected void Button1_Click(object sender, EventArgs e)
{
if (WebPartZone1.WebParts.Count > 1)
{
WebPart cal = WebPartZone1.WebParts[1];
if (cal.Controls[0].GetType().Name == "Calendar"
&& cal != null)
WebPartManager1.DeleteWebPart(cal);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Adding a Server Control</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="WebPartManager1"
runat="server" />
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:BulletedList
DisplayMode="HyperLink"
ID="BulletedList1"
runat="server"
Title="My Links">
<asp:ListItem Value="http://www.microsoft.com">
Microsoft
</asp:ListItem>
<asp:ListItem Value="http://www.msn.com">
MSN
</asp:ListItem>
<asp:ListItem Value="http://www.contoso.com">
Contoso Corp.
</asp:ListItem>
</asp:BulletedList>
</ZoneTemplate>
</asp:WebPartZone>
<asp:Button ID="Button1" runat="server"
Text="Delete Calendar"
OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server"
Text="Add Calendar"
OnClick="Button2_Click" />
</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 Button2_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim mgr As WebPartManager = WebPartManager1
Dim cal As New Calendar()
cal.ID = "cal1"
Dim calWebPart As GenericWebPart = mgr.CreateWebPart(cal)
mgr.AddWebPart(calWebPart, WebPartZone1, 1)
End Sub
Protected Sub Button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
If WebPartZone1.WebParts.Count > 1 Then
Dim cal As WebPart = WebPartZone1.WebParts(1)
If cal.Controls(0).GetType().Name = "Calendar" AndAlso _
cal IsNot Nothing Then
WebPartManager1.DeleteWebPart(cal)
End If
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Adding a Server Control</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="WebPartManager1"
runat="server" />
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:BulletedList
DisplayMode="HyperLink"
ID="BulletedList1"
runat="server"
Title="My Links">
<asp:ListItem Value="http://www.microsoft.com">
Microsoft
</asp:ListItem>
<asp:ListItem Value="http://www.msn.com">
MSN
</asp:ListItem>
<asp:ListItem Value="http://www.contoso.com">
Contoso Corp.
</asp:ListItem>
</asp:BulletedList>
</ZoneTemplate>
</asp:WebPartZone>
<asp:Button ID="Button1" runat="server"
Text="Delete Calendar"
OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server"
Text="Add Calendar"
OnClick="Button2_Click" />
</div>
</form>
</body>
</html>
설명
CreateWebPart 메서드는 사용 되지 않는 서버 컨트롤에 대 한 기본 메커니즘 WebPart 에서 동일한 기능을 수행 하는 컨트롤을 WebPart 컨트롤 이므로 웹 파트 애플리케이션에 완전히 참여 합니다. 크게 개발자가이 메서드를 사용 하 여 웹 파트 애플리케이션에서 사용할 수 있습니다. 있는 서버 컨트롤의 수를 확장, 서버 컨트롤의 거의 모든 유형을 때문에 표준 ASP.NET 컨트롤, 사용자 컨트롤 및 사용자 지정 컨트롤-수 있습니다.
또한 컨트롤은 WebPartManager 다른 두 시나리오에서 이 메서드를 사용하여 서버 컨트롤을 개체로 GenericWebPart 래핑합니다. 사용자가 컨트롤을 사용하여 페이지에 서버 컨트롤을 ImportCatalogPart 추가할 때 가져온 컨트롤이 컨트롤이 아닌 WebPart 경우 메서드가 CreateWebPart 호출됩니다. 또한 서버 컨트롤이 웹 페이지의 CreateWebPart 영역 내에서 지속성 형식으로 WebPartZoneBase 선언되면 컨트롤이 아닌 WebPart 모든 컨트롤에 대해 메서드가 호출됩니다.
프로그래밍 방식으로 영역에 서버 컨트롤을 추가 하는 경우 일반적인 방법은 메서드를 사용 하 여 CreateWebPart 컨트롤을 래핑 하는 개체를 사용 하 여 다음 호출 하는 메서드를 추가 AddWebPart 하는 모든 컨트롤의 컬렉션에 컨트롤을 페이지의 모든 WebPart 컨트롤을 추가 하는 속성입니다 WebPartsGenericWebPart.
상속자 참고
웹 파트 컨트롤 집합과 함께 제공되는 기본 클래스 대신 파생 GenericWebPart 클래스를 사용하도록 이 메서드를 재정의할 수 있습니다.
적용 대상
추가 정보
.NET