* 웹 파트(WebParts) 컨트롤

 

 

- 특정영역을 최소화, 최대화하기 드래그해서 위치 이동

- 사용자별로 커스터마이즈 할 수 있음

- 페이지의 상단에 WebPartManager를 떨어 뜨려 놓아야 함

- 실행시켜도 보이는 건 없음

 

 

 

- WebPartZone을 각각 영역에 떨어 뜨려 놓는다.

- 하나의 영역

- 항목을 드래그&드롭, 도킹 할 수 있게 함

 

 

 

영역1에는 캘린더(Calendar) 컨트롤

영역2에는 이미지 컨트롤

영역3에는 로그인 컨트롤

 

각 컨트롤들에 Title 속성을 쓸 수 있음 -> 확장 속성

(-> 각 컨트롤의 제목으로 붙어서 나타남)

 

메뉴파트에 디스플레이 선택 할 수 있는 드롭다운리스트 생성

 

카탈로그존 이용해서 복구 가능

(-> 페이지 카탈로그 파트 컨트롤 사용)

 

[Browse] 모드 : 페이지 보기의 기본 화면, 페이지의 웹 파트를 편집하거나 이동 할 수 없다는 의미. 이 보기 모드는 표준적인 페이지 보기에 사용

 

[Edit] 모드 : 페이지의 특정 웹 파트를 선택해서 편집할 수 있도록 설정. [Edit] 모드는 웹 파트의 제목과 색깔, 심지어 우편번호를 직접 입력해서 날씨 정보를 얻어노는 커스텀 속성 설정 등 모든 유형을 편집할 수 있다.

 

[Design] 모드 : 페이지의 구성 요소에 대한 순서를 다시 정렬. [Design] 모드를 설정하면 하나의 존 내부에 있는 항목을 위아래로 이동하거나, 삭제하거나, 페이지의 다른 존으로 이동할 수 있다.

 

[Catalog] 모드 : 페이지의 모든 웹 파트를 보여준다. 또 페이지의 존에 있는 임의의 항목을 선택할 수 있다.

 

 




[Default.aspx]


<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">

    <title></title>

</head>

<body>

    <form id="form2" runat="server">

    <div>

        <asp:WebPartManager ID="WebPartManager1" runat="server">

        </asp:WebPartManager>

    <table border="1" width="100%">

        <tr>

            <td colspan="3">메뉴&nbsp;&nbsp;

                <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true"

                    onselectedindexchanged="DropDownList1_SelectedIndexChanged">

                    <asp:ListItem Value="0">Browse</asp:ListItem>

                    <asp:ListItem Value="1">Design</asp:ListItem>

                    <asp:ListItem Value="2">Catalog</asp:ListItem>

                </asp:DropDownList>

            </td>

        </tr>

        <tr>

            <td>영역1<asp:WebPartZone ID="WebPartZone1" runat="server">

                <ZoneTemplate>

                    <asp:Calendar ID="Calendar1" runat="server" Title="달력"></asp:Calendar>

                </ZoneTemplate>

                </asp:WebPartZone>

                <br /><br /></td>

            <td>영역2<br />

                <asp:WebPartZone ID="WebPartZone2" runat="server">

                    <ZoneTemplate>

                        <asp:Image ID="Image1" runat="server" Title="로고"/>

                    </ZoneTemplate>

                </asp:WebPartZone>

                <br /></td>

            <td>영역3<br />

                <asp:WebPartZone ID="WebPartZone3" runat="server">

                    <ZoneTemplate>

                        <asp:Login ID="Login1" runat="server" Title="로그인">

                        </asp:Login>

                    </ZoneTemplate>

                </asp:WebPartZone>

                <br /></td>

        </tr>

    </table>

    </div>

    <asp:CatalogZone ID="CatalogZone1" runat="server">

        <ZoneTemplate>

            <asp:PageCatalogPart ID="PageCatalogPart1" runat="server" />

        </ZoneTemplate>

    </asp:CatalogZone>

    </form>

</body>

</html>

 





[Default.aspx.cs]


using System;

using System.Web.UI.WebControls.WebParts;

 

public partial class _Default : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

 

    }

 

    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)

    {

        if (this.DropDownList1.SelectedValue == "0")

        {

            this.WebPartManager1.DisplayMode = WebPartManager.BrowseDisplayMode;

        }

        else if (this.DropDownList1.SelectedValue == "1")

        {

            this.WebPartManager1.DisplayMode = WebPartManager.DesignDisplayMode;

        }

        else if (this.DropDownList1.SelectedValue == "2")

        {

            this.WebPartManager1.DisplayMode = WebPartManager.CatalogDisplayMode;

        }

    }

}






















Posted by holland14
: