Razor는 ASP.NET MVC에서 지원하는 뷰 엔진 중 하나입니다. Razor를 사용하면 C# 을 사용하여 HTML 및 서버 측 코드를 혼합하여 작성할 수 있으며, .cshtml 의 Razor View 파일 확장자를 가지고 있습니다.
Razor 문법에는 다음과 같은 특성이 있습니다.
- 간소화 :Razor 문법은 간소화 하여 코드를 작성하는 데 필요한 문자 수와 키 입력을 최소화할 수 있습니다.
- 배우기 쉬운: Razor 문법은 친숙한 언어 C # 을 사용하여 쉽게 배울 수 있습니다.
- Intellisense: Razor 문법은 비주얼 스튜디오 내에서 자동화 코드를 지원합니다.
인라인 식
기호로 시작하여 HTML 코드로 서버 측 C# 코드를 작성합니다.
예를 들어 서버 측 변수의 값을 표시하려면 쓰기(예: DateTime.Now)는 현재 날짜와 시간을 반환합니다. 따라서 아래와 같이 현재 날짜와 시간을 표시하도록 적습니다. 표현식 끝에 세미콜론이 필요하지 않습니다.
@Variable_Name@DateTime.Now
<h1>Razor 문법 데모</h1>
<h2>@DateTime.Now.ToShortDateString()</h2>
출력 :
Razor 문법 데모
08-09-2014
다중 문 코드 블록
중괄호로 감싼 서버 코드를 작성할 수 있습니다.
각 줄은 C# 문법과 동일하게 세미콜론으로 끝나야 합니다.
@{ ... }
@{
var date = DateTime.Now.ToShortDateString();
var message = "Hello World";
}
<h2>오늘 날짜는: @date </h2>
<h3>@message</h3>
출력 :
오늘 날짜는: 08-09-2014
Hello World!
코드 블록에서 텍스트 표시
코드 블록 내에서 텍스트를 사용하거나 표시합니다.
@:<text>/<text>
@{
var date = DateTime.Now.ToShortDateString();
string message = "Hello World!";
@:오늘 날짜는: @date <br />
@message
}
출력 :
오늘 날짜는: 08-09-2014
Hello World!
다른 조건
기호로 시작하는 if-else 조건을 작성합니다.
if-else 코드 블록은 단일 문에 대해서도 중괄호로 감싸야 합니다.
@{ }
@if(DateTime.IsLeapYear(DateTime.Now.Year) )
{
@DateTime.Now.Year @:은 윤년입니다.
}
else {
@DateTime.Now.Year @:은 윤년이 아닙니다.
}
출력 :
2014 은 윤년이 아닙니다.
루프
@for (int i = 0; i < 5; i++) {
@i.ToString() <br />
}
출력 :
0
1
2
3
4
모델
@model 사용하여 뷰의 어느 곳에서나 모델 개체를 사용합니다.
@model Student
<h2>학생 상세 정보 :</h2>
<ul>
<li>학생Id: @Model.StudentId</li>
<li>학생명: @Model.StudentName</li>
<li>나이: @Model.Age</li>
</ul>
출력 :
학생 상세 정보:
- 학생Id: 1
- 학생명: John
- 나이: 18
변수 선언
괄호에 둘러싸인 코드 블록에서 변수를 선언한 다음 HTML 내부의 변수를 사용합니다.
@{
string str = "";
if(1 > 0)
{
str = "Hello World!";
}
}
<p>@str</p>
출력 :
Hello World!
'트레이닝' 카테고리의 다른 글
Razor HtmlHelper - Textbox (0) | 2021.02.17 |
---|---|
HTML Helpers (0) | 2021.02.16 |
블레이저 앱 개발을 위한 환경 설정 (0) | 2021.02.15 |
블레이저란 무엇인가? (0) | 2021.02.14 |
Join 쿼리 (0) | 2020.07.08 |