Как передать строки, добавленные на стороне клиента в сетке MVC3, обратно в контроллер? - PullRequest
0 голосов
/ 30 ноября 2011

У меня есть модель, которая содержит несколько строковых полей и список. В представлении я использую EditFor для полей и хочу использовать WebGrid для списка.

Дисплей работает нормально. Но затем я использую клиентскую сторону jQuery, чтобы позволить пользователю добавлять строки в таблицу, сгенерированную веб-сеткой, которые также хорошо отображаются в пользовательском интерфейсе.

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

Как я могу сделать так, чтобы модель, отправленная обратно в контроллер, была полностью заполнена, включая то, как таблица, сгенерированная веб-сеткой, теперь выглядит, как поля?

Я вижу несколько других подобных вопросов для webgrid на форуме, но ни один с ответом.

1 Ответ

0 голосов
/ 30 ноября 2011

Полагаю, вы пришли из мира WebForms. Ну, это другое в MVC. Здесь вы вернулись к простому старому html и его полям ввода. Нет представления для хранения ваших строк. Проверьте эту ссылку: http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx.

Обычно вам нужно иметь последовательный индекс (или идентификатор) для каждой строки.

...