Что такое Представление со строгим контролем типов в ASP.NET MVC

Что такое Представление со строгим контролем типов в ASP.NET MVC?

41
задан abatishchev 24 May 2010 в 11:22
поделиться

3 ответа

Это страница aspx, производная от System.Web.Mvc.ViewPage . Говорят, что это представление строго типизировано для типа TModel . Как следствие этого есть свойство Model внутри этого представления, которое имеет тип TModel и позволяет вам напрямую обращаться к свойствам модели следующим образом:

<%= Model.Name %>
<%= Model.Age %>

где, как если бы ваш aspx страница, полученная из System.Web.Mvc.ViewPage , вам нужно будет извлечь значения из ViewData , представление больше не знает о типе TModel :

<%= (string)ViewData["Name"] %>
<%= (int)ViewData["Age"] %>

или еще хуже:

<%= ((SomeModelType)ViewData["model"]).Name %>

и в таком коде нет безопасности времени компиляции.

Обратите внимание, что существует аналог ViewUserControl для строго типизированных партиалов (ASCX).

34
ответ дан 27 November 2019 в 00:52
поделиться

Это представление, которое определяет тип объекта, переданного ему в качестве модели, поэтому вместо представления, наследуемого от ViewPage , оно наследуется от ViewPage , где T - тип модели.

3
ответ дан 27 November 2019 в 00:52
поделиться

Сильно типизированные представления используются для визуализации конкретных типов объектов модели, вместо использования общей структуры ViewData. Указав тип данных, вы получаете доступ к IntelliSense для класса модели.

11
ответ дан 27 November 2019 в 00:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: