У меня есть настройки метода действия:модель связывания IList выбранных элементов только
public ActionResult Delete(IList<Product> products)
и таблицу продуктов, на мой взгляд. У меня есть привязка модели, так что на отправке я могу заполнить список products
. Но я хотел бы заполнить его только теми продуктами, которые выбраны с помощью флажка.
Я думаю, что я мог бы сделать это путем изменения способа действий к этому:
public ActionResult Delete(IList<Product> products, IList<int> toDelete)
И передавая список флажков в toDelete
, но я бы очень хотел, чтобы избежать изменений сигнатуры методы, если это возможно.
Есть ли способ передать только выбранные элементы? Или мне придется писать пользовательский ModelBinder?
Не то, чтобы я * не могу прикоснуться к подписи, это то, чего я действительно не хочу. Если вы прочитали метод, который говорит «Удалить (IList), вы сразу же узнаете, что он удалит продукты в этом списке. Немного назад для чтения 'Удалить (IList продуктов, int [] toDelete)' или аналогичный. Возможно, у меня может быть игра со вторым предложением, хотя и приветствуется. –
jeef3
После долгих размышлений я закончил тем, что изменил подпись метода, чтобы добавить whitelsit. Я начал создавать пользовательскую привязку модели, но это слишком долгое время, и мне действительно нужно было настаивать на этом. Если я получу время, я снова смогу заглянуть в обычную модель. – jeef3