ASP.NET MVC 3 템 플 릿 페이지 사용(2)
6392 단어 ASP.NET.MVC3템 플 릿 페이지
새 MVC 3 프로젝트 를 만 듭 니 다.솔 루 션 자원 관리 에서 VIEWS 폴 더 아래 에 Shared 폴 더 가 있 는 것 을 볼 수 있 습 니 다.Shared 폴 더 에Layout.cshtml 페이지 입 니 다.이것 이 프로젝트 의 기본 템 플 릿 페이지 입 니 다.아래 그림 과 같다. :
1.새 내용 페이지
내용 페이지 는 MVC 3 에서 보기 레이아웃 페이지 라 고도 부 릅 니 다.보기 폴 더 를 오른쪽 클릭 으로 선택 하고 보 기 를 추가 하여 내용 페이지 를 추가 한 다음 에 해당 하 는 템 플 릿 을 선택 할 수 있 습 니 다.다음은 저희 가 만 든 콘 텐 츠 페이지 ViewPageOne.cshtml 입 니 다.
템 플 릿 페이지 의 페이지 를 사용 하면 자동 으로 페이지 에 코드 를 생 성 합 니 다.템 플 릿 페이지 를 지정 하고 레이아웃 을 사용 하여 구체 적 인 템 플 릿 페이지 를 지정 합 니 다.내용 페이지 에 Layout 속성 이 없 으 면 기본 템 플 릿 페이지 를 사용 합 니 다.
@{
ViewBag.Title = "ViewPageOne";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>ViewPageOne</h2>
레이아웃 이 null 로 지정 되면 템 플 릿 페이지 를 사용 하지 않 음 을 표시 합 니 다.
@{
ViewBag.Title = "ViewPageOne";
Layout = null;
}
2.새 템 플 릿 페이지오른쪽 단 추 를 누 르 고 Shared 파일 을 선택 한 다음 메뉴 에서 새 항목 을 추가 하고 팝 업 으로 새 항목 추가 대화 상 자 를 선택 한 다음 MVC 3 레이아웃 페이지 를 선택 하면 레이아웃 페이지 가 완 료 됩 니 다.아래 에 우리 가 추가 한 레이아웃 페이지 를 추가 합 니 다LayoutPageOne.cshtml
3.어떤 파일 에 템 플 릿 페이지 를 따로 지정 합 니 다.
어떤 페이지 가 기본 템 플 릿 페이지 를 사용 하지 않 으 려 면 템 플 릿 페이지 를 따로 지정 할 수 있 습 니 다.아래 코드 는 내용 페이지 의 템 플 릿 페이지 를 새로 만 든 템 플 릿 페이지 로 지정 할 수 있 습 니 다LayoutPageOne.cshtml
@{
ViewBag.Title = "ViewPageOne";
Layout="~/Views/Shared/_LayoutPageOne.cshtml";
}
<h2>ViewPageOne</h2>
4.보기 폴 더 에 템 플 릿 페이지 지정컨트롤 러 아래 의 모든 보기 에 같은 템 플 릿 파일 을 사용 하려 면 이 컨트롤 러 에 대응 하 는 시도 폴 더 아래 에 을 만 들 수 있 습 니 다.ViewStart.cshtml 파일,그리고ViewStart.cshtml 에서 사용 할 템 플 릿 페이지 를 지정 합 니 다.
@{
Layout = "~/Views/Shared/_LayoutPageOne.cshtml";
}
이렇게 하면 contrller 아래 보 기 를 템 플 릿 파일 로 지정 할 수 있 습 니 다.5.페이지 는 템 플 릿 페이지 를 사용 하지 않 습 니 다.
내용 페이지 가 템 플 릿 페이지 를 사용 하지 않 으 려 면레이아웃 을 null 로 설정
보기 페이지 를 추가 할 때 템 플 릿 을 선택 하지 않 아 도 됩 니 다.
6.@RenderBody ()
@RenderBody()는 템 플 릿 페이지 에 내용 페이지 가 템 플 릿 에 있 는 위 치 를 표시 하 는 데 사 용 됩 니 다.템 플 릿 페이지 가 있 는 내용 페이지 를 만 들 때 내용 페이지 는 템 플 릿 페이지 에@RenderBody()가 있 는 위치 에 나타 나 고 템 플 릿 페이지 에@RenderBody()만 있 습 니 다.
7.@RenderSection
@RenderSection 은 템 플 릿 레이아웃 에서 영역 을 정의 하 는 데 사 용 됩 니 다.내용 페이지 에서 이 영역 을 채 울 내용 을 정의 할 수 있 습 니 다.예 를 들 어 내용 페이지 에서 인용 한 JS 파일 은 템 플 릿 페이지 의 section 위치 에 채 울 수 있 습 니 다.각 내용 페이지 의 단독 정 보 는 템 플 릿 페이지 에 이 영역 을 표시 할 수 있 습 니 다.
@RenderSection 은 두 개의 인자 가 있 습 니 다.첫 번 째 인 자 는 section 의 이름 을 정의 하 는 데 사 용 됩 니 다.두 번 째 인 자 는 불 형식 입 니 다.TRUE 라면 내용 페이지 가 이 section 을 정의 해 야 하고 false 이면 내용 페이지 가 section 을 정의 할 수도 있 고 정의 하지 않 을 수도 있 습 니 다.
템 플 릿 페이지:
<!DOCTYPE html>
<html>
<head>
<title> @ViewBag.Title</title>
</head>
<body>
<p> 2 </p>
<div>
@RenderBody()
</div>
<div>
:
@RenderSection("Remark", false);
</div>
</body>
</html>
내용 페이지:
@{
ViewBag.Title = " ";
}
<h2>@ViewBag.Message</h2>
<p>
ASP.NET MVC , <a href="http://asp.net/mvc" title="ASP.NET MVC ">http://asp.net/mvc</a>。
</p>
@section Remark
{
}
<p> </p>
8.@RenderPage @RenderPage 는 한 페이지 에 다른 페이지 의 내용 을 보 여 주 는 데 사 용 됩 니 다.매개 변 수 는 보 여줄 페이지 의 위 치 를 지정 합 니 다.
저 희 는 Shared 폴 더 아래 에 footer.cshtml 파일 을 새로 만 든 다음 에 저작권 정 보 를 쓴 다음 템 플 릿 페이지 에 footer 페이지 를 보 여 주 는 위 치 를 엽 니 다.
<!DOCTYPE html>
<html>
<head>
<title> @ViewBag.Title</title>
</head>
<body>
<p> 2 </p>
<div>
@RenderBody()
</div>
<div>
:
@RenderSection("Remark", false);
</div>
<footer>
@RenderPage("~/Views/Shared/footer.cshtml")
</footer>
</body>
</html>
[email protected]()와 Html.RenderPartial()[email protected]()와 Html.RenderPartial()두 가지 방법 은 하나의 섹 션 을 출력 할 수 있 습 니 다.오른쪽 단 추 를 누 르 면 새 항목 을 추가 하고 MVC 3 섹 션 을 선택 하면 하나의 섹 션 을 추가 할 수 있 습 니 다.사용자 컨트롤 에 해당 합 니 다.
이 럴 때 사용자 가 두 가지 방법 으로 페이지 의 내용 을 출력 할 수 있 습 니 다.물론 이 두 가지 방법 은 보기 페이지 와 내용 페이지 를 직접 출력 할 수 있 습 니 다.
@Html.Partial()의 매개 변 수 는 사용자 컨트롤 이름,즉 섹 션 이름 입 니 다.반환 값 은 string 형식 으로 직접 출력 할 수 있 습 니 다.
@Html.RenderPartial()의 매개 변 수 는 사용자 컨트롤 이름 이 고 반환 값 은 VOID 이 며 호출 할 때 내용 을 Response 에 직접 출력 합 니 다.
용법 은 다음 과 같다.
<div id="logindisplay">
@Html.Partial("_PartialLogin")
@{
Html.RenderPartial("_PartialLogin");
}
</div>
이상 은 ASP.NET MVC 3 템 플 릿 페이지 의 사용 방법 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ASP.NET MVC 3 템 플 릿 페이지 사용(2)내용 페이지 는 MVC 3 에서 보기 레이아웃 페이지 라 고도 부 릅 니 다.보기 폴 더 를 오른쪽 클릭 으로 선택 하고 보 기 를 추가 하여 내용 페이지 를 추가 한 다음 에 해당 하 는 템 플 릿 을 선택 할 수...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.