MVC4 Разница Razor в @model и @inherit в заголовке?
Чтобы сделать строго типизированное представление, мы можем использовать @model
и @inherit
. Не могли бы вы рассказать мне, какая разница между ними?
Edit:
См. этот пример.
Ответы
Ответ 1
Разница заключается в следующем: если ваше представление наследуется от WebViewPage<T>
, то ваша модельная директива указывает на T
.
Иными словами, эти два эквивалента
@inherits System.Web.Mvc.WebViewPage<ModelClass>
и
@model ModelClass
Ссылка: http://weblogs.asp.net/scottgu/archive/2010/10/19/asp-net-mvc-3-new-model-directive-support-in-razor.aspx
Ответ 2
Они одинаковы (т.е. указывают сильно типизированные классы моделей), но @inherit
является более подробным (из-за полного пути). @inherit
был единственным способом сделать это, когда бритва была впервые введена (предварительный выпуск MVC 3, я думаю), но я не видел, чтобы он использовался годами.