ASP.NET MVC 2.0 - ILIST Флакторы
-
21-09-2019 - |
Вопрос
Какой лучший способ справиться с этим:
class Option {
int id;
string name;
}
class QuoteItem
{
IList<Option> options;
}
class QuoteViewModel {
IList<Option> allOptions;
QuoteItem quoteItem;
}
По сути, у меня есть все доступные варианты в allOptions
. Анкет Я хочу иметь флажок, который ставит другой Option
(даже если это только его id
) в QuoteItem.options
Список, когда он проверяется. Как бы я это сделал? Будет ли это лучше IList<bool>
и связывать его после факта?
Решение
Я предлагаю вам взглянуть на это запись в блоге От Фила Хаака о связывании модели с списком
Для вашей ситуации вы можете использовать простую привязку модели с IEnumerable<int> options
, где значения будут идентификатором выбранных вариантов.
Ваш входной вид будет выглядеть примерно так:
<form method="post" action="/QuoteItems/SetOptions">
<input type="hidden" name="options" value="1" />
<input type="hidden" name="options" value="4" />
<input type="hidden" name="options" value="2" />
<input type="hidden" name="options" value="8" />
<input type="submit" />
</form>
Скрытые входы содержат атрибут «Выбранные», атрибут «Имя примечания», который одинаково для каждого скрытого ввода. Связь с модели по умолчанию может связать это с списком целых чисел.
То, что вам нужно сделать дальше,-это добавление / удаление скрытого ввода параметров на стороне клиента в зависимости от того, выбран ли элемент в вашем управлении «Всеобъемлющими».