본문 바로가기

트레이닝

Razor 문법

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!

 

 

참조 - ASP.NET Razor Syntax

 

ASP.NET Razor Syntax

Razor Syntax Razor is one of the view engines supported in ASP.NET MVC. Razor allows you to write a mix of HTML and server-side code using C# or Visual Basic. Razor view with visual basic syntax has .vbhtml file extension and C# syntax has .cshtml file ext

www.tutorialsteacher.com

 

'트레이닝' 카테고리의 다른 글

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