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?

One Solution collect form web for “mvc в верхнем регистре Модель и модель нижнего регистра”

Модель фактически представляет экземпляр 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 .

  • Razor Views не видит System.Web.Mvc.HtmlHelper
  • ViewModels или ViewBag?
  • Динамические строки MVC 5 с BeginCollectionItem
  • ASP.NET MVC 4 + Ninject MVC 3 = Нет конструктора без параметров, определенного для этого объекта
  • Циркулярная ссылка обнаружила исключение при сериализации объекта в JSON
  • Сообщения / ответные сообщения при использовании HttpClient
  • Как установить cookie на HttpRequestMessage HttpClient?
  • Как создать URL веб-API ASP.NET?
  • Добавление другого «питомца» в модельную форму
  • CssRewriteUrlTransform с виртуальным каталогом или без него
  • Обновление Windows вызвало прекращение работы MVC3 и MVC4
  • Interesting Posts

    Можно ли использовать функцию для значения по умолчанию в MySql?

    Как настроить controller webapi для multipart / form-data

    Является ли Async ожидающим ключевое слово, эквивалентное продолжению с лямбдой?

    Rcpp проходит по ссылке или по значению

    Регулярное выражение для соответствия внешним скобкам

    Где найти исходный код Windows Modern UI?

    Как отключить AFP для использования SMB в Finder по умолчанию в Mac OS X 10.11 (El Capitan)?

    Многие компьютеры, 1 комплект наушников. Каковы варианты?

    Название цвета базы данных RGB

    .NET Events – Что такое отправитель объекта и EventArgs?

    Могу ли я удалить неисправные драйверы в командной строке режима восстановления системы?

    Могу ли я использовать Windows дополнительные записи HOSTS с файлового сервера?

    Обозреватель Android runOnUiThread

    Json ответ скачать в IE (7 ~ 10)

    Условное форматирование Excel 2010: выборочное выделение дубликатов

    Давайте будем гением компьютера.