Когда допустимо использовать словарь ViewData в ASP.NET MVC? - PullRequest
1 голос
/ 18 июня 2009

Кажется, что большинство людей склоняется к созданию одиночных ModelView для каждого представления ( Принцип Громовой связи ) вместо добавления слабо типизированных элементов в словарь ViewData.

Итак, с учетом этого, для каких задач тогда должен использоваться ViewDictionary? Действительно маленькие разовые взгляды? Не использовать его вообще?

Ответы [ 3 ]

3 голосов
/ 18 июня 2009

Никогда, держите все строго напечатанным. Помогает с рефакторингом, этого достаточно, только одна причина.

3 голосов
/ 18 июня 2009

Мастер-страницы кажутся мне местом, где их трудно обойти. Допустим, у вас есть стандартное место на всех ваших страницах, где будут отображаться сообщения об ошибках. Вы можете теоретически строго ввести MasterPage и убедиться, что все модели представлений наследуются от некоторого базового класса, который дает вам строгий тип доступа к переменной для установки сообщения об ошибке на главной странице, но это выглядит как перебор , Гораздо разумнее сделать что-то вроде:

ViewData["ErrorMessage"] = "This is an error message";

и у вашей главной страницы есть раздел, отображающий его:

<div class="error_message"><%= ViewData["ErrorMessage"] %></div>
0 голосов
/ 18 июня 2009

Я думаю, что вопрос: использовать строго типизированные представления не и когда? . Если ваши представления не являются строго типизированными, то вы будете использовать ViewDataDictionary (в основном для простых / небольших приложений). Если вы используете модульное тестирование, лучше иметь View Model, которую можно просто протестировать.

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