tag route net for data asp all asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

asp.net - route - tag helpers asp net core



Modelo en mayúsculas mvc vs modelo en minúsculas (1)

El modelo en realidad representa una instancia de la clase que es su modelo y el modelo es un alias para la expresión lambda.

Cuando escribe @Model en su vista, está utilizando el objeto de ContractViewModel que se pasa de la acción del Controlador, si no se pasa de la Vista puede ser nulo y acceder a cualquier propiedad del Modelo puede lanzar una Excepción de Referencia Nula y escribir a los Model.Contractors básicamente significa ContractViewModel.Contractors

y cuando escribe un ayudante html necesita escribir un alias para él, no es obligatorio escribir un model , puede escribir cualquier cosa.

por ejemplo:

@Html.DropDownListFor(m=> m.ContractorId, Model.Contractors)

Es solo un alias para acceder a las propiedades del modelo dentro de Html Helper .

Cuando escribe @model Project.Models.ContractViewModel en la parte superior de View que es una cosa diferente, en este caso estamos definiendo el modelo de vista que tomará la instancia de Project.Models.ContractViewModel , en realidad nuestra vista ahora está fuertemente tipada. a la instancia de la clase Project.Models.ContractViewModel .

Estoy trabajando en un proyecto MVC 5, muy nuevo en MVC. Noté esta línea en el código:

@Html.DropDownListFor(model => model.ContractorId, Model.Contractors)

La directiva en la parte superior de la página es:

@model Project.Models.ContractViewModel

La clase ContractViewModel tiene un objeto Contratistas en ella.

public IEnumerable<SelectListItem> Contractors

Estoy un poco confundido en la capital M (Model.Contractors), ¿Model se refiere siempre al objeto pasado en el @model? Entonces, ¿cuál es la diferencia entre usar Model.Contractors y model.Contractors?