ASP.NET

[C#/ASP.NET] Razor <text> 태그

코북 2022. 3. 25. 18:20

 안녕하세요 코북입니다. Razor구문의 <text> 태그를 왜 사용하는지 의문이 들어 자료 조사하고 예시를 만들어 봤습니다. 이해가 잘 되지 않아 여러 번 읽어봤는데, 원문의 Razor 코드 블럭 부분을 전체적으로 읽어보면 더 큰 도움이 될 것 같습니다.

http://www.egocube.pe.kr/translation/content/asp-net-core-mvc-views/201608310001

 

뷰: Razor 구문 참조

본문에서는 뷰에 서버 기반의 코드를 끼워 넣기 위해서 사용되는 Razor 구문의 특징들을 간단하게 살펴봅니다.

www.egocube.pe.kr

 

 Razor 코드 블럭은 @ 기호로 시작하고 { } 로 둘러싸입니다. 표현식과는 다르게 코드 블럭 내부에 작성된 C# 코드는 렌더되지 않습니다. Razor 페이지의 모든 코드 블럭과 표현식들은 동일한 범위(Scope)를 공유하며 작성된 순서대로 정의됩니다. 즉, 특정 코드 블럭에서 선언된 변수를 그 이후의 코드 블럭이나 표현식에서 접근할 수 있습니다.

 

코드 블럭 내부에서 명시적으로 HTML을 렌더하기 위한 하위 영역을 정의하려면, Razor <text> 태그로 렌더될 문자들을 둘러싸면 됩니다.

<label>
    <input type="radio" value="Y" class = "input" name = "coti"
    @if (cobook.tistory == "Y") {<text> checked </text>}
    onclick = "javascript:changeRadio();"/> 사용 
</label>

이 방법은 주로 HTML 태그로 감싸여지지 않은 HTML을 렌더하고자 할 때 사용됩니다. 이 경우, HTML 태그나 Razor 태그로 HTML을 감싸지 않으면 Razor 런타임 오류가 발생합니다.