#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 может оказаться неподходящим