Sembra che se si utilizza Html.DisplayFor(model => model)
senza modelli per una vista dettagli, il markup risultante sarà simile a questa:Templating Html.DisplayFor() in ASP.NET MVC 2
<div class="display-label">first name</div>
<div class="display-field">Dan</div>
<div class="display-label">last name</div>
<div class="display-field">M</div>
<div class="display-label">email</div>
<div class="display-field">[email protected]</div>
Questo ha un buon grado di flessibilità. Se crei classi CSS per display-label
e display-field
, puoi fare un bel po 'di tempo, ma se volessi cambiarlo in qualcosa di simile?
<p>
<span class="display-label">first name</span>:
<span class="display-field">Dan</span>
</p>
<p>
<span class="display-label">last name</span>:
<span class="display-field">M</span>
</p>
<p>
<span class="display-label">email</span>:
<span class="display-field">[email protected]</span>
</p>
noti che ora le coppie attributo-valore appaiono ora side-by-side (anziché su linee separate) e c'è un colon dopo ogni attributo.
C'è un modo per creare un modello personalizzato che verrà ripetuto per ogni coppia valore-attributo quando una vista dettagli è impalcata?
Non sto parlando di un modello specifico per un modello (ad esempio, un modello Person
) o un modello per una particolare proprietà (ad esempio, un modello EmailAddress
). Voglio qualcosa che mi permetta di descrivere come appare una coppia valore-attributo, quindi DispalyFor()
dovrebbe ripetere automaticamente quel modello per ogni proprietà nel mio modello o modello di vista.
Questo è esattamente quello che mi serviva. Grazie. – devuxer
Suggerisci di modificare questo per usare CSS come una domanda simile http://stackoverflow.com/questions/3055376/style-list-of-divs-as-2-column-layout-with-css – Bermo