que quiero hacer algo como esto para que pueda crear un cuadro de diálogo modal que yo invoco tarde con jQueryCómo utilizar @ Html.EditorFor() sin el modelo de vista
<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>
En esta línea
@Html.EditorFor(model => new ViewModel(), "ViewModelTemplateName")
me sale el error
las plantillas se pueden utilizar solamente con el acceso de campo, acceso a la propiedad, matriz unidimensional i ndex, o expresiones individuales de indexador de un solo parámetro .
No entiendo por qué le importaría dónde o lo que es la instancia (siempre que su tipo derecha)
@ Html.Partial ("~/Views/Shared/EditorTemplates/modelo de vista. cshtml ", nuevo ViewModel()) hace el truco, pero tengo que declarar la ruta completa de la plantilla ... esto apesta un poco.
¿Hay alguna forma mejor de hacerlo?
disculpa que fue un error tipográfico (para proteger a los inocentes) voy a editar y corregir. – Peter
Sí, pero consumir el modelo no siempre es lo que quiere hacer. Las anotaciones de datos son buenas, nos dan bonitas validaciones y nombres bonitos. Cuando quiero hacer algo más rico con mis páginas en jQuery, es bueno simplemente renderizar el modelo de vista en una plantilla y dejar que cosas como knockoutjs y twitter-bootstrap hagan su magia. – Peter