SlideShare a Scribd company logo
24-1 김상윤
• Razor 란? 
• Razor 작동 구조 
• Razor 기초문법 
• 공통 레이아웃 
• 공통 모듈
• Razor Syntax?? 
- 웹 사이트 개발을 위한 스크립트 구문 
- ASP.NET의 새로운 View 엔진 
- 새로운 구문이다! 그렇지만 어색하지 않 
다!! 
기반 언어(C# & VB)를 그대로 사용
코드에 
HTML 
“@ 
” 
를 넣는다.
Razor 
Syntax 
ASP.NET 
.NET Framework
• Hello~ Razor! 
- C#기반(.cshtml), VB기반(.vbhtml) 
- Razor의 핵심 포인트는 “@” 기호 
@{ 
string greeting = "Hello~ Razor!"; 
} 
<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8" /> 
<title></title> 
</head> 
<body> 
<div> 
<h1>@greeting</h1> 
</div> 
</body> 
</html>
- “@” 기호를 키워드로 사용하는 형식 
- 기반 언어의 코드 작성 문법을 그대로 사 
용 
• 변수, 연산자, 분기문, 반복문, 제어문 등 코드 형식 
일체 
• 제약 조건도 동일 
• Ex) 대/소문자 구분, 변수 선언 필수, 구문 종료 표시 
(‘;’)
• 코드 블록 
- “{ }” 를 활용하여 블록 지정 
[한 줄 형식의 코드 블록] 
@{ string site = “ASP.NET”; } 
@{ string id = “Razor”; } 
[여러 줄 형식의 코드 블록] 
@{ 
string site = “ASP.NET”; 
string id = “Razor”; 
}
• 변수 출력 
- “@” 기호를 변수 앞에 붙여주는 형태 
- 코드 블록 바깥쪽 / 안쪽 모두 동일하게 사 
용 
[코드 블록 바깥쪽에서의 변수 출력] 
<span>오늘 날짜와 시간은 @DateTime.Now 입니다.</span> 
[코드 블록 안쪽에서의 변수 출력] 
@{ 
string today = DateTime.Now.ToString(); 
<span>오늘 날짜와 시간은 @today 입니다.</span> 
}
• 주석문 
- Razor의 주석문은 서버 측 주석(페이지 실행시 
렌더링 되지 않음) 
[코드 블록 바깥쪽에서의 주석 표현] 
@*한 줄 주석문(코드 바깥쪽) *@ 
@* 
여러 줄 주석문(코드 바깥쪽) 
*@ 
[코드 블록 안쪽에서의 주석 표현] 
@{ 
//한 줄 주석문(코드 안쪽) 
/* 
여러 줄 주석문(코드 안쪽) 
*/ 
}
• 코드 블록 내 마크업 태그 출력 
- 별다른 처리 없이 태그 형식 그대로 사용 
- 닫는 태그가 반드시 필요하다!! 
@{ 
string site = “ASP.NET”; 
string id = “Razor”; 
<span> 
제가 활동하는 커뮤니티는 @site 이고, <br /> 
저의 커뮤니티 아이디는 @id 입니다. 
</span> 
} 
@{ 
string site = “ASP.NET”; 
string id = “Razor”; 
<span> 
제가 활동하는 커뮤니티는 @site 이고, <br /> 
저의 커뮤니티 아이디는 @id 입니다. 
}
• 코드 블록 내 일반 텍스트 출력 
- 코드 블록 내에서 마크업 태그가 동반되지 않은 일반 텍 
스트가 존재하면 서버 측 코드로 판단 
- 일반 텍스트 출력을 위한 구문 사용 
[ <text></text> 구문 사용 ] 
@{ 
<text>ASP.NET Razor 문법에 대해 배워봅시다!!</text> 
} 
[ 또 다른 일반 텍스트 출력 구문 : “@:” ] 
@{ 
@:ASP.NET Razor 문법에 대해 배워봅시다!! 
}
• “@” 기호를 출력하는 경우 
- “@” 기호가 키워드이기 때문에 바로 출력은 불 
가 
- “@” 기호를 두 번 넣어주는 방식 사용 
- 단, E-mail 형식인 경우에는 상관없음 
@{ 
[ “@” 기호 출력 ] 
<text>Razor Syntax의 핵심 키워드는 @@입니다!!</text> 
} 
[ @{ 
E-mail 형식 출력 ] 
<text>E-mail : Razor@mail.com</text> 
}
• 변수가 포함된 문자열에 “.” 기호를 출력하는 경 
우 
- 변수 뒤에 “.” 기호가 있으면 접근 연산자로 판단 
- “@( )” 구문 사용 
@{ 
string title = “ASP”; 
@:MicroSoft <strong>@(title).NET</strong> MVC Framework 
}
• 그 외 기본적인 코드 작성 문법 모두 동일 
- 기반 언어의 코드 작성 문법을 그대로 사용 
- 변수, 연산자, 분기문, 반복문, 제어문 등 
[ IF문 ] [ FOREACH문 ] 
@{ 
bool isCheck = true; 
string message = string.Empty; 
if(isCheck) { 
message = “체크 완료!”; 
} 
else { 
message = “체크 미완료!”; 
} 
} 
@{ 
string[] speakers = {“ 김 상 윤 ”, 
“이정훈”}; 
foreach (string item in speakers) 
{ 
@item; 
} 
}
• 주의사항!! 
- 코드 블록 지정 시 “@” 기호와 “{“ 기호 사이에는 공백이나 
줄 바꿈이 존재할 수 없음 
@ { 
<text>이런 형태나</text> 
} 
@ 
{ 
<text>이런 형태 모두 안됩니다.</text> 
} 
- 코드 블록 기호 ({ })를 생략할 수 없음 
//중괄호는 필수! 
if(isCheck) { 
message = “체크 완료!”; 
} 
else { 
message = “체크 미완료!”; 
} 
//이런 코드 작성은 안됩니다!!! 
if(isCheck) 
message = “체크 완료!”; 
else 
message = “체크 미완료!”;
HEADER 
FOOTER
같은 HEADER 
FOOTER를 사용
코드가 한번 틀리기 시작하 
면 
COPY & PASTE도 
지친다.
• 반복되는 레이아웃 컨텐츠를 재사용 
– 웹 페이지의 Header나 Footer영역과 같이 여러 페이지 
에서 반복되는 컨텐츠를 재사용. 
– Include(PHP, ASP, JSP)와 유사한 개념! 
• RenderPage( ) 
• RenderBody( ) 
• RenderSection( ) 
• 기본 레이아웃 사용
• 재사용 가능한 페이지 구성 
– RenderPage( ) 
• 해당 영역에 다른 페이지의 컨텐츠를 렌더링 
public override HelperResult 
RenderPage( string path, params 
Object[] data )
• 재사용 가능한 페이지 구성 
– RenderPage( ) 
• 해당 영역에 다른 페이지의 컨텐츠를 렌더링 
public override HelperResult 
RenderPage( string path, params 
Object[] data )
• 구조화된 레이아웃 구성 : 레이아웃 페이지 
– Layout( ) 
• 레이아웃 페이지의 경로를 지정 
– RenderBody( ) 
• 레이아웃 페이지를 호출한 콘텐츠 페이지 렌더링 
public override string Layout { get; 
set; } 
public HelperResult 
RenderBody( )
• 구조화된 레이아웃 구성 : 레이아웃 페이지 
– Layout( ) 
• 레이아웃 페이지의 경로를 지정 
– RenderBody( ) 
• 레이아웃 페이지를 호출한 콘텐츠 페이지 렌더링 
public override string Layout { get; 
set; } 
public HelperResult 
RenderBody( )
• 페이지 별로 특정 영역 렌더링 
– RenderSection( ) 
• 컨텐츠 페이지에서 명명된 섹션 컨텐츠 렌더링 
public HelperResult RenderSection( string name ) 
public HelperResult RenderSection( string name, bool 
required )
• 페이지 별로 특정 영역 렌더링 
– RenderSection( ) 
• 컨텐츠 페이지에서 명명된 섹션 컨텐츠 렌더링 
public HelperResult RenderSection( string name ) 
public HelperResult RenderSection( string name, bool 
required )
• 기본 레이아웃 페이지 설정 
– _ViewStart.cshtml 
• View 파일이 실행되기 이전에 먼저 실행되는 파일 
• 가장 먼저 실행되므로 기본 레이아웃 페이지 설정 
가능
• Helper : 도우미 메서드 
– 자주 사용되는 기능 및 코드의 모듈화. 
– 유용한 기능의 헬퍼 추가 및 제작 가능 ! 
기본으로 제공되는 주요 Helper 
HtmlHelper 
HTML 관련 작업 
도우미 메서드 
AjaxHelper 
Ajax 작업 관련 
도우미 메서드 
UrlHelper 
URL 작업 관련 
도우미 메서드 
HtmlHelper의 주요 메서드 
Raw HTML로 인코딩되지 않은 태그를 반환 
Encode HTML로 인코딩된 문자열로 반환 
ActionLink 지정된 가상 경로를 포함하는 앵커 요소(a) 반 
환 
TextBox 텍스트박스 input 요소를 반환 
(<input type = “text” /> 
Password 패스워드 input 요소를 반환 
(<input type = “password” /> 
CheckBox 체크박스 input 요소를 반환 
(<input type = “checkbox” />
• Custom Helper : 직접 정의하여 사용 
– Helper : 특정 레이아웃 반환 
• Ex) 자주 사용하는 폼이나 태그 양식 
– Functions : 클래스화된 메서드 형태 
• Ex) 자주 사용되는 메서드 
– App_code 폴더에 넣으면 프로젝트 전체에서 사용 
가능!
• Functions 
– @functions { } 구문 사용 
– 외부 파일로 생성시 파일명이 클래스명으로 지정됨. 
• Ex) Functions 정의 및 호출 
@functions { 
public static string CheckGender(string gender) 
{ 
string value = string.Empty; 
if (gender.Equals("M")) 
value = "남자"; 
else 
value = "여자“; 
return value; 
} 
} 
<p> 나는@MyFunctions.CheckGender(“M”) 입니다.</p> 
functions 정의 
Functions 호출
• Helper 
– @helper { } 구문 사용 
– 외부 파일로 생성시 파일명이 클래스명으로 지정됨. 
• Ex) Helper 정의 및 호출 
@helper ShowGreeting(string id) 
{ 
<p> 
<strong>안녕하세요! 저는@id 입니다!!</strong> 
</p> 
} 
@MyHelper.ShowGreeting(“itist”) 
Helper 정의 
Helper 호출
Asp.net Razor
Asp.net Razor

More Related Content

PDF
두근두근 ASP.NET 5!
PDF
[Td 2015]asp.net 5 깊게 파고들기(박용준)
PDF
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
PDF
[Td 2015]두근두근 asp.net 5(한상훈)
PPTX
크로스플랫폼으로 다시 태어난 ASP.NET Core
PPTX
이제 온라인이다! 브라우저 안으로 들어온 Visual studio!
PDF
[Td 2015]windows, linux, mac 신경 안 쓴다. .net 2015와 더더 좋아지는 c# 살짝 훔쳐보기(김명신)
PDF
ASP.NET Core 3.0과 Blazor를 활용한 새로운 WEB 개발(그리고 Try.NET)
두근두근 ASP.NET 5!
[Td 2015]asp.net 5 깊게 파고들기(박용준)
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
[Td 2015]두근두근 asp.net 5(한상훈)
크로스플랫폼으로 다시 태어난 ASP.NET Core
이제 온라인이다! 브라우저 안으로 들어온 Visual studio!
[Td 2015]windows, linux, mac 신경 안 쓴다. .net 2015와 더더 좋아지는 c# 살짝 훔쳐보기(김명신)
ASP.NET Core 3.0과 Blazor를 활용한 새로운 WEB 개발(그리고 Try.NET)

What's hot (20)

PPTX
Tech Update - The Future of .NET Framework (김명신 부장)
PDF
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
PPTX
The Future of C# and .NET Framework
PDF
FCGI, C++로 Restful 서버 개발
PDF
RDS에서 Aurora PostgreSQL Migration한 후기
PPTX
Sonatype nexus 로 docker registry 관리하기
PDF
ASP.NET과 C#으로 개발하는 대규모 소셜 게임
PDF
Docker와 DevOps에서 Serverless와 NoOps로의 여정
PPTX
bamboo 로 PHP 프로젝트 지속적인 배포
PDF
[113]apache zeppelin 이문수
PDF
Front-end Development with Ruby on Rails
PDF
Blazor와 안면 트기!
PDF
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
PPTX
처음 시작하는 라라벨
PPTX
[DevOn 2013] Dynamic web proxy
PDF
Envoy 를 이용한 코드 배포 자동화
PDF
자바스크립트의 변천사
PDF
유연하게 확장할 수 있는 PHP 웹 개발 이야기
PPTX
가용성을 고려한 웹 서비스 인프라 설계
PDF
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...
Tech Update - The Future of .NET Framework (김명신 부장)
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
The Future of C# and .NET Framework
FCGI, C++로 Restful 서버 개발
RDS에서 Aurora PostgreSQL Migration한 후기
Sonatype nexus 로 docker registry 관리하기
ASP.NET과 C#으로 개발하는 대규모 소셜 게임
Docker와 DevOps에서 Serverless와 NoOps로의 여정
bamboo 로 PHP 프로젝트 지속적인 배포
[113]apache zeppelin 이문수
Front-end Development with Ruby on Rails
Blazor와 안면 트기!
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
처음 시작하는 라라벨
[DevOn 2013] Dynamic web proxy
Envoy 를 이용한 코드 배포 자동화
자바스크립트의 변천사
유연하게 확장할 수 있는 PHP 웹 개발 이야기
가용성을 고려한 웹 서비스 인프라 설계
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...
Ad

Viewers also liked (8)

PPTX
Hoivs lite 개발환경
PDF
차원축소 훑어보기 (PCA, SVD, NMF)
PDF
도메인 주도 설계의 본질
PDF
Game Based Learning for Language Learners
PDF
What's Trending in Talent and Learning for 2016?
PDF
2015 Upload Campaigns Calendar - SlideShare
PPTX
What to Upload to SlideShare
PDF
Getting Started With SlideShare
Hoivs lite 개발환경
차원축소 훑어보기 (PCA, SVD, NMF)
도메인 주도 설계의 본질
Game Based Learning for Language Learners
What's Trending in Talent and Learning for 2016?
2015 Upload Campaigns Calendar - SlideShare
What to Upload to SlideShare
Getting Started With SlideShare
Ad

Similar to Asp.net Razor (20)

PDF
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdf
PPTX
업무자동화를 위한 파이썬
PPTX
Programming skills 1부
PPTX
2 1. html4.01
PDF
알아봅시다, Polymer: Web Components & Web Animations
PPTX
5.Spring IoC&DI(DI와 관련된 어노테이션)
PPTX
웹표준 (XHTML + CSS)
PPTX
Hacosa js study 2주차
PPTX
4-3. jquery
PPTX
Html5 소개 가이드
PPTX
4-1. javascript
PPTX
HTML5&CSS3 8장. 눈을 즐겁게
PDF
[TECHCON 2019: MOBILE - Android]2.예제에서는 알려주지 않는 Model 이야기
PDF
Network path reference
PDF
07_Visual Shader Editor
PDF
[RAG Tutorial] 02. RAG 프로젝트 파이프라인.pdf
PDF
[전파교육] css day 2014
PDF
Itcookbook Asp Chapter2
PPTX
웹표준(XHTML+CSS)
PPTX
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdf
업무자동화를 위한 파이썬
Programming skills 1부
2 1. html4.01
알아봅시다, Polymer: Web Components & Web Animations
5.Spring IoC&DI(DI와 관련된 어노테이션)
웹표준 (XHTML + CSS)
Hacosa js study 2주차
4-3. jquery
Html5 소개 가이드
4-1. javascript
HTML5&CSS3 8장. 눈을 즐겁게
[TECHCON 2019: MOBILE - Android]2.예제에서는 알려주지 않는 Model 이야기
Network path reference
07_Visual Shader Editor
[RAG Tutorial] 02. RAG 프로젝트 파이프라인.pdf
[전파교육] css day 2014
Itcookbook Asp Chapter2
웹표준(XHTML+CSS)
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지

Asp.net Razor

  • 2. • Razor 란? • Razor 작동 구조 • Razor 기초문법 • 공통 레이아웃 • 공통 모듈
  • 3. • Razor Syntax?? - 웹 사이트 개발을 위한 스크립트 구문 - ASP.NET의 새로운 View 엔진 - 새로운 구문이다! 그렇지만 어색하지 않 다!! 기반 언어(C# & VB)를 그대로 사용
  • 4. 코드에 HTML “@ ” 를 넣는다.
  • 5. Razor Syntax ASP.NET .NET Framework
  • 6. • Hello~ Razor! - C#기반(.cshtml), VB기반(.vbhtml) - Razor의 핵심 포인트는 “@” 기호 @{ string greeting = "Hello~ Razor!"; } <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <div> <h1>@greeting</h1> </div> </body> </html>
  • 7. - “@” 기호를 키워드로 사용하는 형식 - 기반 언어의 코드 작성 문법을 그대로 사 용 • 변수, 연산자, 분기문, 반복문, 제어문 등 코드 형식 일체 • 제약 조건도 동일 • Ex) 대/소문자 구분, 변수 선언 필수, 구문 종료 표시 (‘;’)
  • 8. • 코드 블록 - “{ }” 를 활용하여 블록 지정 [한 줄 형식의 코드 블록] @{ string site = “ASP.NET”; } @{ string id = “Razor”; } [여러 줄 형식의 코드 블록] @{ string site = “ASP.NET”; string id = “Razor”; }
  • 9. • 변수 출력 - “@” 기호를 변수 앞에 붙여주는 형태 - 코드 블록 바깥쪽 / 안쪽 모두 동일하게 사 용 [코드 블록 바깥쪽에서의 변수 출력] <span>오늘 날짜와 시간은 @DateTime.Now 입니다.</span> [코드 블록 안쪽에서의 변수 출력] @{ string today = DateTime.Now.ToString(); <span>오늘 날짜와 시간은 @today 입니다.</span> }
  • 10. • 주석문 - Razor의 주석문은 서버 측 주석(페이지 실행시 렌더링 되지 않음) [코드 블록 바깥쪽에서의 주석 표현] @*한 줄 주석문(코드 바깥쪽) *@ @* 여러 줄 주석문(코드 바깥쪽) *@ [코드 블록 안쪽에서의 주석 표현] @{ //한 줄 주석문(코드 안쪽) /* 여러 줄 주석문(코드 안쪽) */ }
  • 11. • 코드 블록 내 마크업 태그 출력 - 별다른 처리 없이 태그 형식 그대로 사용 - 닫는 태그가 반드시 필요하다!! @{ string site = “ASP.NET”; string id = “Razor”; <span> 제가 활동하는 커뮤니티는 @site 이고, <br /> 저의 커뮤니티 아이디는 @id 입니다. </span> } @{ string site = “ASP.NET”; string id = “Razor”; <span> 제가 활동하는 커뮤니티는 @site 이고, <br /> 저의 커뮤니티 아이디는 @id 입니다. }
  • 12. • 코드 블록 내 일반 텍스트 출력 - 코드 블록 내에서 마크업 태그가 동반되지 않은 일반 텍 스트가 존재하면 서버 측 코드로 판단 - 일반 텍스트 출력을 위한 구문 사용 [ <text></text> 구문 사용 ] @{ <text>ASP.NET Razor 문법에 대해 배워봅시다!!</text> } [ 또 다른 일반 텍스트 출력 구문 : “@:” ] @{ @:ASP.NET Razor 문법에 대해 배워봅시다!! }
  • 13. • “@” 기호를 출력하는 경우 - “@” 기호가 키워드이기 때문에 바로 출력은 불 가 - “@” 기호를 두 번 넣어주는 방식 사용 - 단, E-mail 형식인 경우에는 상관없음 @{ [ “@” 기호 출력 ] <text>Razor Syntax의 핵심 키워드는 @@입니다!!</text> } [ @{ E-mail 형식 출력 ] <text>E-mail : Razor@mail.com</text> }
  • 14. • 변수가 포함된 문자열에 “.” 기호를 출력하는 경 우 - 변수 뒤에 “.” 기호가 있으면 접근 연산자로 판단 - “@( )” 구문 사용 @{ string title = “ASP”; @:MicroSoft <strong>@(title).NET</strong> MVC Framework }
  • 15. • 그 외 기본적인 코드 작성 문법 모두 동일 - 기반 언어의 코드 작성 문법을 그대로 사용 - 변수, 연산자, 분기문, 반복문, 제어문 등 [ IF문 ] [ FOREACH문 ] @{ bool isCheck = true; string message = string.Empty; if(isCheck) { message = “체크 완료!”; } else { message = “체크 미완료!”; } } @{ string[] speakers = {“ 김 상 윤 ”, “이정훈”}; foreach (string item in speakers) { @item; } }
  • 16. • 주의사항!! - 코드 블록 지정 시 “@” 기호와 “{“ 기호 사이에는 공백이나 줄 바꿈이 존재할 수 없음 @ { <text>이런 형태나</text> } @ { <text>이런 형태 모두 안됩니다.</text> } - 코드 블록 기호 ({ })를 생략할 수 없음 //중괄호는 필수! if(isCheck) { message = “체크 완료!”; } else { message = “체크 미완료!”; } //이런 코드 작성은 안됩니다!!! if(isCheck) message = “체크 완료!”; else message = “체크 미완료!”;
  • 19. 코드가 한번 틀리기 시작하 면 COPY & PASTE도 지친다.
  • 20. • 반복되는 레이아웃 컨텐츠를 재사용 – 웹 페이지의 Header나 Footer영역과 같이 여러 페이지 에서 반복되는 컨텐츠를 재사용. – Include(PHP, ASP, JSP)와 유사한 개념! • RenderPage( ) • RenderBody( ) • RenderSection( ) • 기본 레이아웃 사용
  • 21. • 재사용 가능한 페이지 구성 – RenderPage( ) • 해당 영역에 다른 페이지의 컨텐츠를 렌더링 public override HelperResult RenderPage( string path, params Object[] data )
  • 22. • 재사용 가능한 페이지 구성 – RenderPage( ) • 해당 영역에 다른 페이지의 컨텐츠를 렌더링 public override HelperResult RenderPage( string path, params Object[] data )
  • 23. • 구조화된 레이아웃 구성 : 레이아웃 페이지 – Layout( ) • 레이아웃 페이지의 경로를 지정 – RenderBody( ) • 레이아웃 페이지를 호출한 콘텐츠 페이지 렌더링 public override string Layout { get; set; } public HelperResult RenderBody( )
  • 24. • 구조화된 레이아웃 구성 : 레이아웃 페이지 – Layout( ) • 레이아웃 페이지의 경로를 지정 – RenderBody( ) • 레이아웃 페이지를 호출한 콘텐츠 페이지 렌더링 public override string Layout { get; set; } public HelperResult RenderBody( )
  • 25. • 페이지 별로 특정 영역 렌더링 – RenderSection( ) • 컨텐츠 페이지에서 명명된 섹션 컨텐츠 렌더링 public HelperResult RenderSection( string name ) public HelperResult RenderSection( string name, bool required )
  • 26. • 페이지 별로 특정 영역 렌더링 – RenderSection( ) • 컨텐츠 페이지에서 명명된 섹션 컨텐츠 렌더링 public HelperResult RenderSection( string name ) public HelperResult RenderSection( string name, bool required )
  • 27. • 기본 레이아웃 페이지 설정 – _ViewStart.cshtml • View 파일이 실행되기 이전에 먼저 실행되는 파일 • 가장 먼저 실행되므로 기본 레이아웃 페이지 설정 가능
  • 28. • Helper : 도우미 메서드 – 자주 사용되는 기능 및 코드의 모듈화. – 유용한 기능의 헬퍼 추가 및 제작 가능 ! 기본으로 제공되는 주요 Helper HtmlHelper HTML 관련 작업 도우미 메서드 AjaxHelper Ajax 작업 관련 도우미 메서드 UrlHelper URL 작업 관련 도우미 메서드 HtmlHelper의 주요 메서드 Raw HTML로 인코딩되지 않은 태그를 반환 Encode HTML로 인코딩된 문자열로 반환 ActionLink 지정된 가상 경로를 포함하는 앵커 요소(a) 반 환 TextBox 텍스트박스 input 요소를 반환 (<input type = “text” /> Password 패스워드 input 요소를 반환 (<input type = “password” /> CheckBox 체크박스 input 요소를 반환 (<input type = “checkbox” />
  • 29. • Custom Helper : 직접 정의하여 사용 – Helper : 특정 레이아웃 반환 • Ex) 자주 사용하는 폼이나 태그 양식 – Functions : 클래스화된 메서드 형태 • Ex) 자주 사용되는 메서드 – App_code 폴더에 넣으면 프로젝트 전체에서 사용 가능!
  • 30. • Functions – @functions { } 구문 사용 – 외부 파일로 생성시 파일명이 클래스명으로 지정됨. • Ex) Functions 정의 및 호출 @functions { public static string CheckGender(string gender) { string value = string.Empty; if (gender.Equals("M")) value = "남자"; else value = "여자“; return value; } } <p> 나는@MyFunctions.CheckGender(“M”) 입니다.</p> functions 정의 Functions 호출
  • 31. • Helper – @helper { } 구문 사용 – 외부 파일로 생성시 파일명이 클래스명으로 지정됨. • Ex) Helper 정의 및 호출 @helper ShowGreeting(string id) { <p> <strong>안녕하세요! 저는@id 입니다!!</strong> </p> } @MyHelper.ShowGreeting(“itist”) Helper 정의 Helper 호출