Выпадающие списки MVC - Как установить фиктивные значения - PullRequest
0 голосов
/ 19 сентября 2010

Это как бы два участника:

1) Откуда мне кормить мои DDL? Прямо сейчас у меня есть List, установленный в моей модели просмотра. Я видел много людей, которые устанавливают списки в ViewData []. Это то, что я должен делать, и почему?

Я заметил, что значения DDL не сохраняются в HttpPost, и я должен сбросить их в модели представления. Если я использую ViewData [], я предполагаю, что это не обязательно?

2) Я заполняю свои DDL из LinqToSQL на

new SelectList(dataContext.Products.ToList(),"ID","Name");

Как добавить фиктивное поле, например "- Выберите продукт--" val = "- 1"?

1 Ответ

1 голос
/ 19 сентября 2010

Существует множество методов для работы с данными из выпадающего списка.Я лично использую фильтры для добавления коллекций в модели представлений (по крайней мере, в 90% случаев), но я не буду вдаваться в подробности.Вы можете использовать метод Insert для добавления элемента-заполнителя.

var options = dataContext.Products.Select(p => new OptionItem(p.Id, p.Name)).ToList();
options.Insert(0, new OptionItem(-1, "--Select a Product--"));
// now use the options collection for the drop down list source

Примечание. Я сделал проекцию из Product в OptionItem, потому что вам не нужно запрашивать весь объект Product, если вы просто хотите два поля.

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