MVC3 Razor: Menampilkan html di dalam blok kode

131

Dalam file cshtml saya, saya memiliki banyak blok dengan hal-hal seperti ini:

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

Satu-satunya alasan rentang adalah karena saya tidak dapat menemukan cara lain untuk memaksanya mengakui bahwa "Hello World" adalah bagian dari html kecuali saya mengelilinginya dalam tag html. Apakah ada cara yang baik untuk menghindari kode yang tidak melibatkan penambahan tag yang tidak berarti ke tampilan?

DMulligan
sumber

Jawaban:

226

Anda bisa menggunakan @:untuk melarikan diri:

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

atau <text>tag khusus yang tidak dihasilkan dalam respons:

@if(Model.foo)
{
    <text>Hello World</text>
}
Darin Dimitrov
sumber
14
@if(Model.foo)
{
  @:Hello World
}
Sergey Metlov
sumber
10

Anda dapat menambahkan teks seperti di bawah ini:

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

ketika Anda menggunakan @pisau cukur, alihkan ke mode blok kode. Karenanya Anda perlu menentukan teks seperti di atas.

matmat
sumber
8
<text>Explicit HTML<text>

@(Explicit C#)
Cătălin Rădoi
sumber
8

banyak pengembang telah menyediakan banyak cara di atas .. ini adalah satu lagi yang berfungsi dengan baik di MVC 4 .. Saya harap ini akan bekerja untuk MVC 3 juga ..

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

Jawaban di atas sangat bagus. Saya akan menyertakan tautan ke artikel Scott Guthrie tentang ini, karena ini menunjukkan beberapa contoh dan penjelasan lebih lanjut.

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
}

Eric Burdo
sumber