Dado que la respuesta aceptada es una respuesta de solo enlace (y se eliminó), pensé que realmente respondería a la pregunta derivada del blog de Brad Wilson: ASP.NET MVC 2 Templates, Part 1: Introduction.
Las expresiones del modelo son simples ayudantes que operan en el modelo actual. La línea DisplayForModel() es equivalente a DisplayFor (modelo => modelo).
TL; DR la misma idea se puede suponer para EditorFor(model => model)
y EditorForModel()
; estos métodos de ayuda logran lo mismo. EditorForModel()
asume que la expresión del modelo es @model
que se pasó a la vista.
Tome los siguientes modelos y vistas, por ejemplo:
public class Person
{
public string Name {get; set;}
public Address MailingAddress {get; set;}
}
public class Address
{
public String Street {get; set;}
public String City {get; set;}
public String State {get; set;}
}
Create.cshtml
:
@model MyNamespace.Models.Person
/* So, you need an Editor for the Person model? */
@Html.EditorForModel()
/*the above is equivalent to @Html.EditorFor(model => model) */
/* you need to specify the Address property that the editor accepts? */
@Html.EditorFor(model => model.MailingAddress)
Por favor, echar un vistazo a [blog] de Brad Wilson (http: // bradwilson. typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-1-introduction.html) –