Как отправить таблицу с динамическими строками данных через asp.net mvc или jquery? - PullRequest
6 голосов
/ 31 марта 2010

Я совершенно noob для asp.net mvc, и в настоящее время я пишу веб-приложение, которое позволяет пользователю выбирать несколько продуктов из списка и добавлять их в динамическую таблицу со строками, которые можно добавлять или удалять.

Таким образом, я думаю об использовании jquery для добавления и удаления строки таблицы, поэтому строка таблицы будет добавлена ​​через append ("xxx").

но дело в том, что я не так хорошо знаком с отправкой форм asp.net mvc, насколько я понимаю, я могу получить значение позже через форму ["id"], но если бы я создал строку таблицы через этот метод, я думаю, он либо будет с тем же идентификатором, либо я могу использовать запущенный без идентификатора и скрытый ввод, чтобы отслеживать, сколько продуктов добавлено.

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

p.s. Я чувствую, что мой путь подобен большому беспорядочному грязному хаку, который вернется и укусит меня однажды.

Вопросы:

  1. у asp.net mvc есть хороший способ справиться со всем этим? я прочел кое-что о mvc tempdata.
  2. и есть ли лучший способ для меня справиться с динамическим продуктом поколение? сделать вещи проще позже для подачи формы в asp.net MVC
  3. а также я обнаружил, что вы можете на самом деле отправить форму через JQuery тоже есть ли плюсы и минусы между двумя методами? с точки зрения может быть производительность, безопасность, техническое обслуживание и т. д.

спасибо

1 Ответ

3 голосов
/ 31 марта 2010

Вы можете размещать коллекции объектов; в MVC. Вот пример: http://www.hanselman.com/blog/ASPNETWireFormatForModelBindingToArraysListsCollectionsDictionaries.aspx

По сути, вы можете использовать JQuery для создания таблицы, но убедитесь, что идентификаторы элементов управления ссылаются на эту схему, поэтому для добавления следующей строки с использованием JQuery убедитесь, что элементы управления для ввода данных используют следующий индекс в списке, вместе с тем же именем, что и свойство в базовом связанном объекте.

Когда вы отправляете сообщение на сервер, вы можете перебирать эту коллекцию.

Чтобы ответить на остальные: вы можете отправить форму через JQuery, если вы не хотите выполнять обратную передачу на сервер (можете использовать ASP.NET MVC, чтобы сделать это тоже) ... в противном случае вам не нужно беспокоиться о JQuery отправить. Так что это может добавить юзабилити.

НТН.

...