ich so etwas wie dies tun will, so kann ich einen modalen Dialog erstellen, die ich mit jQuery spät berufen würdeSo verwendet @ Html.EditorFor() ohne die Ansicht Modell
<div class="modal" id="modalName" style="display: none;">
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3>Edit Contacts</h3>
</div>
@using (Html.BeginForm("Index", "Home", FormMethod.Post, new Dictionary<string, object> { { "class", "form-horizontal" } }))
{
<div class="modal-body">
@Html.EditorFor(model => new ViewModel(), "ViewModelTemplateName")
</div>
<div class="modal-footer">
<a href="#" class="btn" data-dismiss="modal">Close</a>
<button type="submit" class="btn btn-primary">
Submit</button>
</div>
}
</div>
Auf dieser Linie
@Html.EditorFor(model => new ViewModel(), "ViewModelTemplateName")
ich erhalte den Fehler
Vorlagen können nur mit Feldzugriff, Zugriff auf Eigenschaften, eindimensionales Array verwendet werden i ndex oder benutzerdefinierter Indexer für einzelne Parameter Ausdrücke.
Ich verstehe nicht, warum wäre es egal, wo oder was die Instanz (solange sie die richtige Art)
@ Html.Partial ("~/Ansichten/Shared/EditorTemplates/Ansichtsmodell. cshtml ", neue ViewModel()) macht den Trick, aber ich muss den vollständigen Pfad der Vorlage deklarieren ... das ist ein bisschen nervtötend.
also gibt es einen besseren Weg, es zu tun?
Entschuldigung das war ein Tippfehler (um die Unschuldigen zu schützen) Ich werde bearbeiten und reparieren. – Peter
Ja, aber das Modell zu konsumieren ist nicht immer das, was Sie tun möchten. Datenanmerkungen sind gut, sie geben uns schöne Validierungen und schöne Namen. Wenn ich etwas reicher mit meinen Seiten in jQuery machen möchte, dann ist es schön, das Viewmodel in eine Vorlage zu rendern und diese Dinge wie knockoutjs und twitter-bootstrap magisch wirken zu lassen. – Peter