MVC3 면도기 : 코드 블록 내에 HTML 표시


131

내 cshtml 파일에는 다음과 같은 많은 블록이 있습니다.

@if(Model.foo)
{
    <span>Hello World</span>
}

범위가있는 유일한 이유는 html 태그로 둘러싸 지 않으면 "Hello World"가 HTML의 일부임을 인식하도록 다른 방법을 찾을 수 없기 때문입니다. 의미없는 태그를 디스플레이에 추가하지 않는 코드를 피하는 좋은 방법이 있습니까?

답변:


226

@:탈출 하는 데 사용할 수 있습니다 .

@if(Model.foo)
{
    @:Hello World
}

또는 <text>응답에 출력되지 않은 특수 태그 :

@if(Model.foo)
{
    <text>Hello World</text>
}


10

아래와 같이 텍스트를 추가 할 수 있습니다.

@if(Model.foo)
{
    @:Hello World
}

@면도기 를 사용할 때는 코드 블록 모드로 전환하십시오. 따라서 위와 같이 텍스트를 지정해야합니다.



8

많은 개발자들이 위의 많은 방법을 제공했습니다. 여기 MVC 4에서 잘 작동하는 것이 하나 더 있습니다. MVC 3에서도 잘 작동하기를 바랍니다.

@if(Model.foo)
{
    @Html.Label("Hello World")
}

0

위의 답변은 훌륭합니다. Scott Guthrie의 기사에 대한 링크를 포함시킬 것입니다. 여기에는 더 많은 예제와 설명이 나와 있기 때문입니다.

https://weblogs.asp.net/scottgu/asp-net-mvc-3-razor-s-and-lt-text-gt-syntax

@if (p.UnitsInStock == 0 {
  <text>
    Donec in ante vitae purus consequat laoreet ut elementum
    purus. Ut ut tempus nulla, quis ultrices est. Integer
    pharetra ante in lectus porta, a lacinia ex faucibus. 
    Aliquam magna risus, pretium vel neque at, laoreet 
    ultrices lectus. Morbi posuere luctus risus. Nullam 
    tincidunt massa egestas nunc tempor scelerisque.  
  </text>
}


@if (p.UnitsInStock == 0 {
  @: Line 1
  @: Line 2
  @: Line 3
}

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.