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 코드 블럭은 @ 기호로 시작하고 { } 로 둘러싸입니다. 표현식과는 다르게 코드 블럭 내부에 작성된 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 런타임 오류가 발생합니다.