ASP.NET MVC - отправка созданной на стороне клиента коллекции. - PullRequest
1 голос
/ 16 февраля 2009

Я использую JavaScript, чтобы добавить выбор пользователя в список. Когда пользователь закончил, что является лучшим путем:

1: создать индекс для списка и отправить его в виде модели в форму на контроллер?

2: создать скрытый элемент и использовать JavaScript для добавления значений и отправки в виде actionlink? (не уверен, как указать actionlink значение здесь)

3: обернуть блок формы только скрытым элементом и передать строку как модель?

другой

Ответы [ 2 ]

1 голос
/ 17 февраля 2009

Прежде всего, Скотт Хансельман имеет хороший пост о привязке модели к массивам, коллекциям и т. Д.
На мой взгляд, вы не должны использовать второй способ, потому что это будет уязвимость ( описание CSRF ).
Чтобы использовать привязку коллекций, вам нужно обернуть форму вокруг списка и отправить ее (обратите внимание, что эта форма будет отправлять только выбранные значения в этом списке, но вы можете выбрать их все перед отправкой) или создать карту значений и отправьте его через javascript (для jQuery - $ .post (url, data, callback)) или добавьте все пары name & value к какому-то скрытому элементу формы и отправьте его.

1 голос
/ 16 февраля 2009

Я думаю, что самый простой способ - это поместить некоторую форму вашего списка в скрытое поле (type = hidden), и он будет автоматически отправлен с формой и доступен на сервере под именем, которое вы ему дали. Итак, основной аргумент здесь заключается в том, как вы собираетесь обрабатывать эти данные на стороне сервера.

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