MVC3 Razor: Kod blokları içinde html görüntüleme


131

Cshtml dosyalarımda bunun gibi şeylere sahip birçok bloğum var:

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

Yayılma alanının var olmasının tek nedeni, onu html etiketleri arasına almadığım sürece "Merhaba Dünya" nın html'nin bir parçası olduğunu anlamaya zorlamanın başka bir yolunu bulamamam. Ekrana anlamsız etiketler eklemeyi içermeyen koddan kaçmanın iyi bir yolu var mı?

Yanıtlar:


227

@:Kaçmak için kullanabilirsiniz :

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

veya <text>yanıtta çıktısı alınmayan özel etiket:

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


10

Aşağıdaki gibi metin ekleyebilirsiniz:

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

@jilet kullandığınızda onu kod blok moduna geçirin. Bu nedenle yukarıdaki gibi bir metin belirtmeniz gerekir.



8

birçok geliştirici yukarıda birçok yol sağladı .. işte MVC 4'te iyi çalışan bir tane daha .. Umarım MVC 3 için de işe yarar ..

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

0

Yukarıdaki cevaplar harika. Scott Guthrie'nin bu konudaki makalesine bir bağlantı ekleyeceğim, çünkü daha fazla örnek ve açıklama gösteriyor.

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
}

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.