что именно строго типизировано Просмотр данных в Asp.Net MVC - PullRequest
5 голосов
/ 02 февраля 2010

Что означает «строго типизированные данные представления» в Asp.Net MVC?

Спасибо

Ответы [ 3 ]

3 голосов
/ 02 февраля 2010

Строго типизированное представление в ASP.NET MVC наследуется от System.Web.Mvc.ViewPage<T> и содержит свойство Model, тип которого указан в T. Это позволяет intellisense работать в ваших представлениях.

2 голосов
/ 02 февраля 2010

Каждое представление имеет Model свойство.Строго вводить представление означает, что он наследуется от некоторого ViewPage<T>, и свойство Model становится типом T. Если вы не строго набираете представление, модель имеет тип «объект».

Строгая печать модели вашего View имеет преимущества в том, что вы можете получить прямой доступ к свойствам модели.Вы получаете проверку целочисленности и компиляции, вместо того, чтобы использовать «волшебные строки» для доступа к словарю ViewData - что может привести к сбою во время выполнения, если ваша модель когда-либо изменилась.

Например, если у вас было

public class Person
{
   public int Age { get; set; }
}

, и вы сделали свой View строго типизированным в классе Person, вы сможете получить доступ к Model.Age из своих шаблонов представлений.Если ваш View не был строго типизирован, то у Model не было бы свойств, к которым вы могли бы обращаться, и вам пришлось бы явно привести его к типу или передать ваши данные через словарь ViewData.

Для строгого вводаВ этом представлении вы просто наследуете от ViewPage<Person>.

1 голос
/ 02 февраля 2010

Допустим, у вас есть необходимость отображать несколько фрагментов слабо связанных данных в представлении: контактная информация, прогнозы продаж и история вызовов. Вы можете просто вставить их в ViewData, вытащить их и строго набрать их из View, однако лучшим подходом будет создание пользовательской модели, которая инкапсулирует каждую из них. Затем вы должны строго ввести само представление в эту пользовательскую модель. Он играет важную роль в обеспечении безопасности типов и делает помощь при работе с кодом более интуитивно понятной среди других преимуществ, таких как тестируемость.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...