Come si esegue il rendering condizionale di un elemento HTML in Razor 2?ASP.NET MVC Rendering condizionale del rasoio un elemento
Per esempio, supponiamo che ho avuto il tag
<div class="someclass">
<p>@somevalue</p>
</div>
e ho voluto sopprimere la < -div-> tag dal rendering se il valore di @somevalue è stato pari a 1. C'è un modo semplice per farlo in Razor simile a come avrei potuto "nascondere" il < -div-> tag con Knockout.js in un browser, dove potrei:
<div class="someclass" data-bind="showWhenTrue: someValue != 1">
<p data-bind="text: someValue"></p>
</div>
al momento, la migliore alternativa Razor che ho è quello A fare questo:
@if (someValue != 1) {
<div class="someclass">
<p>@somevalue</p>
</div>
}
Ho fatto in questo modo: @ (string.IsNullOrEmpty (somevalue)? "hideme": "") – user18539
ciò che è discutibile è che @ (...) a volte elimina l'auto-formattazione per l'intero documento e intellisense per il resto del contenuto del tag. knockoutjs ha data-bind = "if: someBoolean" e angular has * ngIf = "someBoolean". Mi sarei aspettato che il rasoio avesse qualcosa di incorporato lungo queste linee per aiutarci a mantenere il nostro mark-up pulito –