Получение содержимого Listbox в MVC 2 - PullRequest
2 голосов
/ 27 декабря 2010

У меня есть объект для моего клиента, который позволяет ему выбирать несколько продуктов.

На мой взгляд, я хочу показать список (продукты, выбранные моим клиентом), а затем на стороне клиента.добавить и удалить элементы к нему.Затем мне нужно передать все данные из списка обратно в мое действие, чтобы я мог перебрать список и сохранить его в базе данных.

Как передать весь список обратно в действие и чтопараметры для действия?

На стороне клиента, я думаю, я могу добавить и удалить теги опций для выбранных продуктов.

Я знаю о привязке модели, но не знаю, какможет связать список со структурой объекта.

JD

Ответы [ 2 ]

1 голос
/ 27 декабря 2010

Это немного продвинутое решение, но я обнаружил, что использование Knockout для манипулирования списками на стороне клиента намного проще, чем использование встроенной поддержки списков MVC.У Стива Сандерсона есть отличная информация о том, как это реализовать.У него также есть ходьба, хотя с использованием только форм MVC +.Я бы предложил работать через оба.Любое из этих решений будет гораздо более легким в обслуживании / расширении, чем отправка строки через запятую обратно на сервер.

1 голос
/ 27 декабря 2010

Самый простой способ - заставить ваш метод принимать список строк или целых чисел, например:

public ActionResult About(List<string> products);

Связыватель модели по умолчанию теперь будет связывать все ваши продукты с вашим списком.

Вы также можете заставить свой метод принять FormCollection и разделить содержимое списка, например:

public ActionResult Products(FormCollection form)
{
    var products = form["Products"].Split(',');
}

Продукты теперь будут содержать все ваши продукты.

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