2013-01-18 21 views
8

Se sto lavorando su una vista in Razor, e attualmente sono in un blocco di codice e voglio produrre qualcosa, come faccio? Per illustrare la mia domanda, sto usando echo da PHP sotto:asp.net mvc razor - come uscire da C#

<p> 
    @if (Model.NumberOfWidgets > 100) 
    { 
    echo(Model.NumberOfWidgets); 
    } 
    else 
    { 
    echo("There are loads of widgets."); 
    } 
</p> 

Così sto usando echo dove voglio dire Razor che non sto facendo più C#, sto significa che questo dovrebbe essere scritto all'output. Come faccio a fare questo?

Modifica: ho provato Response.Write, ma questo viene scritto prima del markup della vista, nella parte superiore della pagina!

+2

Rilevante: http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx – WickyNilliams

risposta

12
<p> 
    @if (Model.NumberOfWidgets > 100) 
    { 
    @Html.DisplayFor(m => m.NumberOfWidgets) 
    } 
    else 
    { 
    @:There are loads of widgets //or <text>Thera are loads of widgets</text> 
    } 
</p> 
+0

Non posso credere che non ho mai visto prima. – David

4

Iniziate la vostra linea con @: questo vi dirà rasoio che in realtà è ouput che si desidera mostrare e non codice C#.

<p> 
    @if (Model.NumberOfWidgets > 100) 
    { 
    @: @Model.NumberOfWidgets 
    } 
    else 
    { 
    @: There are loads of widgets. 
    } 
</p>