mvc в верхнем регистре Модель и модель нижнего регистра

Я работаю над проектом MVC 5, очень новым для MVC. Я заметил эту строку в коде:

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

директива в верхней части страницы:

 @model Project.Models.ContractViewModel 

Класс ContractViewModel имеет в нем объект Contractors.

 public IEnumerable Contractors 

Я немного запутался в столице M (Model.Contractors), действительно ли модель всегда ссылается на объект, переданный в @model? Тогда в чем разница между использованием Model.Contractors и model.Contractors?

Модель фактически представляет экземпляр classа, который является вашей моделью, а модель является псевдонимом для выражения lambda.

Когда вы пишете @Model в своем представлении, вы используете объект ContractViewModel который передается из действия controllerа, если он не передан из представления, он может быть нулевым и доступ к любому свойству Model может Model.Contractors исключение Null Reference Exception и писать Model.Contractors you в основном означают ContractViewModel.Contractors

и когда вы пишете html-помощника, вам нужно написать псевдоним для него, не обязательно писать model вы можете написать.

например:

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

Это просто псевдоним для доступа к свойствам модели внутри Html Helper .

Когда вы пишете @model Project.Models.ContractViewModel в верхней части представления, это другое дело, в этом случае мы определяем модель представления, что она будет иметь экземпляр Project.Models.ContractViewModel , на самом деле наше представление теперь строго типизировано к экземпляру classа Project.Models.ContractViewModel .

  • EditorTemplate для DropDownList
  • Получение информации о пользователе Active Directory с проверкой подлинности Windows в MVC 4
  • Почему DisplayFormat DataFormatString не работает?
  • Передайте параметр controllerу из @ Html.ActionLink MVC 4
  • Как получить общеansible IP-адрес пользователя в C #
  • Использование Cookie в Asp.Net Mvc 4
  • Как добавить веб-API в существующий проект ASP.NET MVC 4 Web Application?
  • Установка стандартного JSON-сериализатора в ASP.NET MVC
  • ASP.NET MVC 4 Application Calling Remote WebAPI
  • Как создать две строки нижнего колонтитула в jqgrid
  • Как работает MVC 4 List Binding?
  • Давайте будем гением компьютера.