Книга: ASP.NET MVC Framework
Поиск элементов в коллекции ViewData
Поиск элементов в коллекции ViewData
Легко представить себе ситуацию, в которой на стороне представления заранее не определено, где находятся данные — в коллекции viewData
или же в свойствах объекта viewData.Model
. Для поиска этого элемента доступен специальный метод viewData.Eval(),
осуществляющий поиск в коллекции элементов и в свойствах объекта модели, при этом поддерживается синтаксис точки (.) между именами свойств объектов.
Например, в представлении используется метод viewData.Eval("customer. lastname")
, тогда будет выполнен поиск элемента по описанному далее алгоритму.
1. Будет проверено наличие значения ViewData["customer. lastname"]
.
2. Если значение отсутствует для приведенного ранее элемента коллекции, то будет осуществлен поиск элемента ViewData["customer"]
.
3. В случае если элемент найдет по ключу "customer", то будет осуществлена попытка получить значение ViewData["customer"].lastname
, если же такого свойства у объекта, содержащегося под ключом "customer", найдено не будет, будет осуществлена попытка найти элемент вложенной коллекции ViewData["customer"]["lastname"]
.
4. В случае провала предыдущих попыток поиска будут проверены свойства объекта Model
: ViewData.Model.customer.lastname
и ViewData.Model.customer["lastname"].
Описанный ранее метод поиска приводит к нескольким выводам — при поиске элементы коллекции viewData
имеют приоритет над свойствами объекта, передаваемого через свойство в Model
, поэтому следует не допускать совпадения именований свойств объекта, передаваемого через Model и элементов коллекции ViewData
.
Использование метода viewData.Eval
несет в себе также и возможность передавать строку для форматирования вывода данных.
<%= ViewData.Eval("customer.regDate", "Клиент с {0:yyyy} года.") %>
Метод viewData
используется внутренней инфраструктурой MVC Framework для связывания данных с полями ввода и вывода информации о проверке корректности данных, о чем подробнее будет рассказано далее в этой главе вразд. "Валидация данных форм”.
- Создание свободно позиционируемых элементов
- 13.3.4. Поиск и замена текста
- Фильтры и поиск
- 1.3.1. Индексирование сайта в поисковых системах
- Добавление, изменение и удаление элементов списка
- Восстановление элементов списка из Корзины
- Глава 4 Поиск и выбор идеи
- Глава 1 Поиск (Найдется всё!)
- Нормально ли воспринимается поисковыми системами маскировка партнерских ссылок?
- Общие рекомендации поиска неисправностей
- Поиск и устранение неисправностей модулей памяти
- Поиск источников информации