Попытка отправить данные веб-сетки просмотра на контроллер — MVC3

#asp.net-mvc-3 #webgrid

#asp.net-mvc-3 #веб-сетка

Вопрос:

Я успешно добавил веб-сетку с выпадающим списком, в котором отображаются правильные данные. У меня есть каждая строка, настроенная для пользователя, который может установить уровень ошибки для предупреждения об ошибке. Итак, мой вопрос в том, как мне отправить (HttPost) веб-сетку обратно на контроллер? Я создал свойство в своей модели, но это первый раз, когда я работаю с веб-сеткой, я не уверен, как это сделать.

Вот фрагмент с моей точки зрения:

 var grid = new WebGrid(Model.UserAlerts,
         defaultSort: "ErrorCategory",
         rowsPerPage: 20);
 

 @using (Html.BeginForm())
{       

 <div id="grid">
     @grid.GetHtml(
         tableStyle: "grid",
         headerStyle: "head",
         alternatingRowStyle: "alt",
         columns: grid.Columns(
             grid.Column("ErrorCategory", "Error Category"),
             grid.Column("Error", "Error Name"),             
             grid.Column(header: "Error Level", format: @<text> @Html.DropDownList("ErrorLevelList")</text>)
         )
     )
 </div>

...
}
 

Комментарии:

1. Вся веб-сетка основана на строках запросов. Вы можете использовать его с формами Get. Так что, например, вы можете добавить поле фильтра над ним. Но я не думаю, что он предназначен для использования в качестве пользовательского интерфейса для изменения вашей базы данных. Вы можете создать html.ActionLinks в столбцах и использовать их, чтобы перейти на другую страницу и передать идентификатор или что-то еще. И может быть возможно сделать то, что вы предлагаете, с помощью ajax, поскольку это вообще не отправляет форму. Но если вы просто используете таблицу для отображения выпадающих списков и хотите сохранить значения, webgrid может оказаться неподходящим