Model.Property
- come sapete - scriverà semplicemente il valore della proprietà in questione. Html.DisplayFor(m => m.Property)
, d'altra parte, chiamerà un modello di visualizzazione, che può visualizzare altri markup attorno al valore della proprietà.
Ad esempio, è possibile definire un modello di visualizzazione in questo modo:
@model String
<div class="property-wrapper">
<p>@Model.Property</p>
</div>
I div circostanti saranno resi attorno al valore della proprietà quando si utilizza DisplayFor
(se è selezionata la maschera di visualizzazione, che in genere significa che ha un nome di file corrispondente tipo della proprietà, viene specificato nell'attributo UIHint
per la proprietà, o è esplicitamente specificato nella chiamata a DisplayFor
.
è inoltre possibile accedere ai metadati del modello nei modelli di visualizzazione, il che significa che si può fare qualcosa di simile questo:
<div class="property-label">
@Html.DisplayNameForModel()
</div>
<div class="property-value">
@Model.Property
</div>
I modelli di visualizzazione offrono un'enorme quantità di flessibilità e riusabilità. Il modo migliore per esplorare questo è iniziare a costruire modelli personalizzati e vedere dove ti porta.
fonte
2013-12-18 18:15:46