Es scheint, dass, wenn Sie nur Html.DisplayFor(model => model)
für eine Ansicht Details ohne Vorlagen verwenden, die resultierende Markup etwas wie folgt aussehen: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>
Dieses a hat fairer Grad an Flexibilität. Wenn Sie CSS-Klassen für display-label
und display-field
erstellen, können Sie einiges tun, aber was, wenn ich es in etwas wie das ändern wollte?
<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>
Hinweis, dass jetzt die Attribut-Wert-Paare nun Seite an Seite erscheinen (statt in separaten Zeilen), und es ist ein Doppelpunkt nach jedem Attribute.
Gibt es eine Möglichkeit, eine benutzerdefinierte Vorlage zu erstellen, die für jedes Attribut-Wert-Paar wiederholt wird, wenn eine Detailansicht gerüstet ist?
Ich spreche nicht über eine bestimmte Vorlage für ein Modell (zum Beispiel einer Person
Vorlage) oder eine Vorlage für eine bestimmte Eigenschaft (zum Beispiel einer EmailAddress
Vorlage). Ich möchte etwas, mit dem ich nur beschreiben kann, wie ein Attribut-Wert-Paar aussieht, und dann sollte diese Vorlage automatisch für jede Eigenschaft in meinem Modell oder Ansichtsmodell wiederholt werden (DispalyFor()
).
Das ist genau das, was ich brauchte. Vielen Dank. – devuxer
Schlagen Sie vor, dies zu ändern, um CSS wie eine ähnliche Frage zu verwenden http://stackoverflow.com/questions/3055376/style-list-of-divs-as-2-column-layout-with-css – Bermo