ASP.NET 마스터 페이지, 테마(Theme) 설명
마스터 페이지
- Include 기능 : 별도의 페이지를 컨트롤처럼 페이지 일부에 삽입해서 하나의 페이지로 생성하는 기술
- Include == 사용자 정의 컨트롤(ascx)
- 사용자 정의 컨트롤의 버전업 -> 마스터 페이지
- 마스터 페이지도 페이지마다 반복되어 사용되는 부분을 재사용하기 위한 기술(마스터 페이지 == 사용자 정의 컨트롤 x n개)
여타 다른언어의 Include 기능을 닷넷 형식으로 업그레이드 된것이 사용자 정의 컨트롤이다.
- *.master + *.aspx = *.aspx => *.html
먼저 master페이지를 만들고 aspx를 만들어야 한다.
마스터 페이지 끼리도 상속 받을수 있다.
웹(ASP.NET)
- 기본 게시판만 만들줄 알면된다.(안보고)
게시판(답변, 파일업로드, 이모티콘, 댓글, 페이징, 회원)
- 책, 인터넷.. -> 제작가능
친구추가할수 있는 페이지
Add페이지<->목록 사람이름클릭 -> 자세한정보 상세보기 삭제시 삭제페이지로 이동 -> Edit페이지 수정완료나 취소 할경우 -> 리스트나 상세보기로 돌아감 -> 삭제페이지 삭제완료시 -> 첫페이지로
어드레스
유저컨트롤 형식으로 어드레스를 만들자.
템플릿에 기본으로 만들어놓은 정보들을 다른페이지에 옮기려면 먼저 디자인화면에서 컨트롤+ a 삭제후 복사해야한다.
<%@ Master Language="C#" MasterPageFile="~/Ex80.master" AutoEventWireup="true" CodeFile="Ex80_A.master.cs" Inherits="Ex80_A" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<h1 style="width: 191px">
<br />
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="Ex80_A1.aspx">서브1</asp:HyperLink>
<br />
<br />
<asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="Ex80_A2.aspx">서브2</asp:HyperLink>
<br />
<br />
<asp:HyperLink ID="HyperLink3" runat="server">서브3</asp:HyperLink>
</h1>
<p>
</p>
</asp:Content>
<asp:Content ID="Content3" runat="server"
contentplaceholderid="ContentPlaceHolder2">
<p>
<br />
<asp:ContentPlaceHolder ID="ContentPlaceHolder3" runat="server">
11111111111111111111111</asp:ContentPlaceHolder>
<br />
</p>
</asp:Content>
<%@ Page Title="" Language="C#" MasterPageFile="~/Ex80_A.master" AutoEventWireup="true" CodeFile="Ex80_A1.aspx.cs" Inherits="Ex80_A1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder3" Runat="Server">
ㅈㄱ인<br />
lkajdslj<br />
lskjfdlkj<br />
<br />
ljdflsLKAJSDLKAJSDLKAJDSALKJDSLKASD<br />
654ㄷㄶㄺ654ㄶㄺ65ㄷ4ㄺㄶ<br />
ㄷ64ㄺㄶㄷ64ㄺㄶkjdf<br />
<br />
klsdfjsldjf<br />
<br />
lsjdflksjdflksjd<br />
<br />
lsjdflksjdflksjdf<br />
lsdjflksjdflksdㅇ
</asp:Content>
<%@ Page Title="" Language="C#" MasterPageFile="~/Ex80_A.master" AutoEventWireup="true" CodeFile="Ex80_A2.aspx.cs" Inherits="Ex80_A2" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder3" Runat="Server">
<br />
메뉴1의 서브2 메뉴에 해당하는 실제 페이지<br />
</asp:Content>
메뉴에 새폴더추가시 asp.net 폴더로 추가해야됨.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Ex82_Theme.aspx.cs" Inherits="Ex82_Theme" Theme="spring" %>
<!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 runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
ASP.NET 테마(폴더)<br />
<br />
- ASP.NET 사이트 전체의 서식을 일괄 처리하는 기능<br />
- 테마에 의해서 관리되는 구성요소(CSS. 스킨. 리소스)<br />
<br />
1. CSS(*.css) 파일<br />
- 대상 : HTML 태그, ASP.NET 컨트롤(CssClass)<br />
<br />
2. 스킨(*.skin)파일<br />
- CSS의 닷넷버젼<br />
- 대상 : ASP.NET 컨트롤 서식 지정 가능<br />
<br />
3. 이미지(리소스) 파일<br />
<h2 class="title">
[[회원 가입 페이지]]</h2>
<asp:Label ID="Label1" runat="server" Text="이름" CssClass="label"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server" SkinID="Blue"></asp:TextBox>
<br />
<br />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="au_id" DataSourceID="SqlDataSource1" SkinID="grid">
<Columns>
<asp:BoundField DataField="au_id" HeaderText="au_id" ReadOnly="True"
SortExpression="au_id" />
<asp:BoundField DataField="au_lname" HeaderText="au_lname"
SortExpression="au_lname" />
<asp:BoundField DataField="au_fname" HeaderText="au_fname"
SortExpression="au_fname" />
<asp:BoundField DataField="phone" HeaderText="phone" SortExpression="phone" />
<asp:BoundField DataField="address" HeaderText="address"
SortExpression="address" />
<asp:BoundField DataField="city" HeaderText="city" SortExpression="city" />
<asp:BoundField DataField="state" HeaderText="state" SortExpression="state" />
<asp:BoundField DataField="zip" HeaderText="zip" SortExpression="zip" />
<asp:CheckBoxField DataField="contract" HeaderText="contract"
SortExpression="contract" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:pubsConnectionString %>"
SelectCommand="SELECT * FROM [authors]"></asp:SqlDataSource>
<br />
<asp:Image ID="Image1" runat="server" SkinID="Img" />
<br />
<br />
<br />
</div>
</form>
</body>
</html>
web.config 추가
<system.web>
<!--css 테마 추가-->
<!--<pages theme="summer" />-->