Templating Html.DisplayFor() in ASP.NET MVC 2

Scheint es, dass wenn Sie nur Html.DisplayFor(model => model) mit keine Vorlagen für eine Detailansicht, das resultierende markup-Code wird wie folgt Aussehen:

<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>

Dies ist ein faires Maß an Flexibilität. Wenn Sie erstellen Sie CSS-Klassen für display-label und display-field können Sie tun eine ganze Menge, aber was ist, wenn ich es ändern wollte, so etwas wie dieses?

<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>

Beachten Sie, dass nun die Attribut-Wert-Paare erscheinen nun auch side-by-side (statt in separaten Zeilen) und es ist ein Doppelpunkt, nach jedem Attribut.

Gibt es eine Möglichkeit, eine benutzerdefinierte Vorlage erstellen, die wiederholt wird, wird für jedes Attribut-Wert-paar, wenn einer details-Ansicht ist eingerüstet?

Ich spreche nicht über eine bestimmte Vorlage für ein Modell (z.B. ein Person Vorlage) oder eine Vorlage für eine bestimmte Eigenschaft (z.B. ein EmailAddress Vorlage). Ich will einfach etwas, das können Sie mir beschreiben, wie ein Attribut-Wert-paar sieht, dann DispalyFor() sollte automatisch wiederholen, dass die Vorlage für jede Eigenschaft, die in meinem Modell-oder view-Modell.

InformationsquelleAutor devuxer | 2010-02-07
Schreibe einen Kommentar