다음을 통해 공유


WebPartManager.DeleteWebPart(WebPart) 메서드

정의

WebPart 컨트롤의 동적 인스턴스를 웹 페이지에서 영구적으로 제거합니다.

public:
 void DeleteWebPart(System::Web::UI::WebControls::WebParts::WebPart ^ webPart);
public void DeleteWebPart (System.Web.UI.WebControls.WebParts.WebPart webPart);
member this.DeleteWebPart : System.Web.UI.WebControls.WebParts.WebPart -> unit
Public Sub DeleteWebPart (webPart As WebPart)

매개 변수

webPart
WebPart

삭제할 서버 컨트롤입니다.

예제

다음 코드 예제에서는 DeleteWebPart 메서드를 사용하는 방법을 보여 줍니다. 일정 추가 단추를 처음 클릭하면 이벤트 처리기의 코드에서 컨트롤을 Calendar 만들어 영역에 개체로 GenericWebPart 추가합니다. 컨트롤은 프로그래밍 방식으로 추가되므로 동적 컨트롤이므로 삭제할 수 있습니다. 사용자가 일정 삭제 단추를 클릭하면 코드는 컨트롤이 있는지 확인하고 메서드를 호출 DeleteWebPart 하여 삭제합니다.

<%@ 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>

설명

이 메서드는 DeleteWebPart 페이지에서 매개 변수가 나타내는 컨트롤을 webPart 영구적으로 제거합니다. 컨트롤에 추가 PageCatalogPart 되고 페이지에 다시 추가할 수 있는 닫힌 컨트롤과 달리 삭제된 컨트롤 인스턴스는 페이지에 다시 추가할 수 없습니다.

참고

웹 파트 컨트롤 집합에서 구현한 대로 사용자가 동적 WebPart 컨트롤을 삭제하는 기능은 사용자 및 컨트롤이 페이지에 추가된 개인 설정 범위에 따라 달라집니다. 페이지가 공유 범위(권한이 있는 사용자)에 있을 때 컨트롤이 추가되면 페이지가 사용자 범위에 있을 때 개별 사용자가 컨트롤을 삭제할 수 없습니다.

동적 컨트롤만 삭제할 수 있습니다. 동적 컨트롤은 프로그래밍 방식으로 또는 사용자가 카탈로그에서 컨트롤을 추가하여 페이지에 추가됩니다. 정적 컨트롤은 태그 또는 지속성 형식으로 선언적으로 페이지에 추가됩니다. 선언적 태그는 태그에 영구적으로 존재하기 때문에 정적 컨트롤은 삭제할 수 없지만 닫고 다시 열 수 있습니다.

적용 대상

추가 정보