На странице редактирования массовой формы я показываю около 50 объектов, которые также имеют некоторые логические свойства. Контроллер получает FormCollection со всеми значениями на странице редактирования.MVC checkboxes & FormCollection
public void _EditAll(FormCollection c)
{
int i = 0;
if (ModelState.IsValid)
{
var arrId = c.GetValues("channel.ID");
var arrName = c.GetValues("channel.displayedName");
var arrCheckbox = c.GetValues("channel.isActive");
for (i = 0; i < arrId.Count(); i++)
{
Channel chan = db.Channels.Find(Convert.ToInt32(arrId[i]));
chan.displayedName = arrName[i];
chan.isActive = Convert.ToBoolean(arrCheckbox[i]);
db.Entry(chan).State = EntityState.Modified;
}
db.SaveChanges();
}
}
Теперь для флажков, MVC создает скрытые входы на форме (в противном случае «ложь» не может быть вывешены назад). В контроллере, при получении FormCollection, это приводит к случаю, когда я получаю массив сказать
- 50 идентификаторов,
- 50 имен и ..
- 71 или около этого значения для флажков,
поскольку скрытый флажок имеет то же имя, что и видимое.
Что такое хороший способ справиться с этим и получить правильное значение этого флажка?
Разве вы не хотите использовать свою собственную модель обзора, с которой будут привязаны значения флажков? – LINQ2Vodka
Вы думаете, что позаботится о флажке-thingie? Хм, я попробую. – peter
Не удалось получить эту работу (передать список моих объектов с их правильным состоянием из формы в контроллер). Получил, что работает только в том случае, если будет отправлено только одно лицо. – peter