Blog Content

    티스토리 뷰

    37.C# ASP.NET - 마스터페이지

    반응형
    마스터 페이지(*.master) 동적으로 특정 컨트롤 접근
    웹 사이트 전체의 레이아웃
    ContentPlaceHoder 부분만 변하고 나머지는 레이아웃으로 고정

    1. 새 프로젝트에서 웹사이트를 추가합니다. (WebMasterPage)
       - 해당 프로젝트에서 Default.aspx 파일을 삭제해주세요...
    2. 추가한 해당 프로젝트에서 새항목 추가 - 마스터페이지 추가
    기본적인 테이블을 디자인합니다.
    MasterPage.master
    기본테이블 다지인

    [그림37-1]


    해당 프로젝트 - "웹 사용자 정의 컨트롤" 추가 ( Navigator.ascx )
    해당 페이지를 불러오기
    Navigator.ascx

    <div>

       <a href="Default.aspx">HOME</a>

       |

       <a href="About.aspx">About</a>

    </div>


    페이지를 추가합니다. 스크린샷을 보고 따라하세요! 중요합니다!
    Default.aspx 와 About.aspx 를 같이 방법으로 추가합니다.
    Default.aspx

    [그림37-2]

    [그림37-3]


    [그림37-4]

       페레이아웃으로 설정되어져 있습니다. 메인페이지에 적용시

       <asp:Content></asp:Content> 태그 안에서 설정 할 수 있습니다.

       시웹사이트 전체 공통부분만 마스터 페이지로 설정하고,

       시추가/수정은 마스터페이지에서 <asp:ContentPlaceHolder>시컨트롤 추가 후 해주셔야 합니다.


    코드

    <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">

    </asp:Content>

    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

    <p>여기는 메인 페이지입니다.</p>

    </asp:Content>


    마스터 페이지로 이동해 추가한 파일을 연결합니다. 코드 추가!!
    MasterPage.master

    <%@ Master Language="C#" AutoEventWireup="true"

        CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>


    <%@ Register src="Navigator.ascx" tagname="Navigator" tagprefix="uc1" %>


    <!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>

        <asp:ContentPlaceHolder ID="head" runat="server">

        </asp:ContentPlaceHolder>

        <style type="text/css">

            .style1

            {

                width: 120px;

                height: 187px;

                background-color:Yellow;

            }

            .style2

            {

                height: 187px;

            }

        </style>

    </head>

    <body>

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

        <div>

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

                <tr>

                    <td colspan="2">

                        <uc1:Navigator ID="Navigator1" runat="server" />

                    </td>

                </tr>

                <tr>

                    <td class="style1">

                        <asp:Label ID="lblDisplay" runat="server" Text=""></asp:Label>

                        <br />

                        카테고리

                    </td>

                    <td class="style2" style="vertical-align:top;">

                        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">

                        </asp:ContentPlaceHolder>

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        Copyright ASP.NET All right reserved</td>

                </tr>

            </table>

        </div>

        </form>

    </body>

    </html>


    F5눌러서 실행! 결과 확인
    결과확인

    [그림37-5]



    반응형

    Comments