Razor는 C#(C 샤프)과 VB(Visual Basic)를 모두 지원합니다.
이 섹션에서는 Razor C# 및 Razor VB의 구문 규칙을 설명합니다.
Razor 코드 블록은 @{ ... }로 묶여 있습니다.
인라인 표현식(변수 및 함수)은 @로 시작합니다.
세미콜론으로 코드 문 끝
변수는 var 키워드를 사용하여 선언됩니다.
따옴표로 묶인 문자열
C# 코드는 대소문자를 구분합니다.
C# 파일 확장자는 .cshtml입니다.
<!-- 단일 명령문 블록 --> @{ var myMessage = "Hello World" }; <!-- 인라인 표현식 또는 변수 --> <p>myMessage 값: @myMessage </p> <!-- 다중 문 블록 --> @{var Greeting = "우리 사이트에 오신 것을 환영합니다!";var weekDay = DateTime.Now.DayOfWeek;var GreetingMessage = Greeting + " 여기 휴스턴에서는 다음과 같습니다: " + 주일;} <p>인사말은 @greetingMessage입니다. </p>
Razor 코드 블록은 @Code ... End Code로 묶입니다.
인라인 표현식(변수 및 함수)은 @로 시작합니다.
변수는 Dim 키워드를 사용하여 선언됩니다.
따옴표로 묶인 문자열
VB 코드는 대소문자를 구분하지 않습니다.
VB 파일의 확장자는 .vbhtml입니다.
<!-- 단일 명령문 블록 --> @Code 희미한 myMessage = "Hello World" 종료 코드 <!-- 인라인 표현식 또는 변수 --> <p>myMessage 값: @myMessage </p> <!-- 다중 문 블록 --> @Codedim Greeting = "우리 사이트에 오신 것을 환영합니다!" 희미한 weekDay = DateTime.Now.DayOfWeek 희미한 인사말 메시지 = 인사말 & " 여기 휴스턴에서는 " & weekDayEnd 코드 <p>인사말은 @greetingMessage입니다. </p>
Razor는 웹 페이지에 서버 코드를 삽입하기 위한 간단한 프로그래밍 구문입니다.
Razor 구문은 웹 애플리케이션 생성을 위해 특별히 설계된 Microsoft .NET 프레임워크의 일부인 ASP.NET 프레임워크를 기반으로 합니다.
Razor 구문은 ASP.NET의 모든 기능을 지원하지만 초보자가 더 쉽게 배우고 전문가가 더 효율적으로 사용할 수 있는 단순화된 구문을 사용합니다.
Razor 웹 페이지는 HTML 콘텐츠와 Razor 코드라는 두 가지 콘텐츠 유형이 포함된 HTML 웹 페이지로 설명할 수 있습니다.
서버가 페이지를 읽을 때 HTML 페이지를 브라우저에 보내기 전에 먼저 Razor 코드를 실행합니다. 서버에서 실행되는 코드는 서버 데이터베이스에 액세스하는 등 브라우저에서 완료할 수 없는 작업을 수행할 수 있습니다. 서버 코드는 동적 HTML 콘텐츠를 생성하여 브라우저로 보낼 수 있습니다. 브라우저 관점에서 볼 때 서버 코드에 의해 생성된 HTML은 정적 HTML 콘텐츠와 다르지 않습니다.
Razor 구문을 사용하는 ASP.NET 웹 페이지에는 특수 파일 확장자 cshtml(Razor C#) 또는 vbhtml(Razor VB)이 있습니다.
서버 코딩에는 종종 개체가 포함됩니다. "날짜" 개체는 일반적인 기본 제공 ASP.NET 개체이지만 개체는 사용자 지정 개체, 웹 페이지, 텍스트 상자, 파일, 데이터베이스 레코드 등일 수도 있습니다. 객체에는 실행 방법이 있습니다. 데이터베이스 레코드에는 "Save" 메서드가 있을 수 있고, 이미지 개체에는 "Rotate" 메서드가 있을 수 있으며, 이메일 개체에는 "Send" 메서드가 있을 수 있습니다. 객체에는 해당 특성을 설명하는 속성도 있습니다. 데이터베이스 레코드에는 FirstName 및 LastName 속성이 있을 수 있습니다.
ASP.NET Date 개체에는 Now 속성(Date.Now로 작성됨)이 있고 Now 속성에는 Day 속성(Date.Now.Day로 작성됨)이 있습니다. 다음 예에서는 Data 객체의 일부 속성에 액세스하는 방법을 보여줍니다.
<table> <tr> <th>이름</th> <td>값</td> </tr> <tr> <td>일</td><td>@DateTime.Now.Day </td> </tr> <tr> <td>시</td><td>@DateTime.Now.Hour </td> </tr> <tr> <td>분</td><td>@DateTime.Now.Minute </td> </tr> <tr> <td>초</td><td>@DateTime.Now.Second </td> </tr> </td> </table>
동적 웹 페이지의 중요한 기능은 조건에 따라 수행할 작업을 결정할 수 있다는 것입니다.
이를 수행하는 일반적인 방법은 if ... else 문을 사용하는 것입니다.
@{var txt = "";if(DateTime.Now.Hour > 12){txt = "안녕하세요";}else{txt = "안녕하세요";}} <html> <body> <p>메시지는 @txt입니다. </p> </body> </html>
동적 웹 페이지의 또 다른 중요한 기능은 사용자 입력을 읽을 수 있다는 것입니다.
Request[] 함수를 통해 입력을 읽고, IsPost 조건을 통해 입력 데이터를 전송합니다.
@{var totalMessage = "";if(IsPost){var num1 = Request["text1"];var num2 = Request["text2"];var total = num1.AsInt() + num2.AsInt();totalMessage = "총계 = " + 총계;}} <html> <body style="배경색: 베이지; 글꼴 계열: Verdana, Arial;"> <form action="" method="post"> <p><label for="text1">첫 번째 숫자: </label><br> <input type="text" name="text1" /></p> <p><label for="text2">두 번째 숫자:</label><br> <input type= "text" name="text2" /></p> <p><입력 type="submit" value=" 추가 " /></p> </form> <p>@totalMessage </p> </body> </html>