В следующей усеченном cshtml выдержке я использую сетку для построения таблицы:MvcContrib.Grid оказывает дополнительный скрытый вход в колонке
@using (Html.BeginForm("DeleteSelected", "ControllerName", FormMethod.Post))
{
@Html.Grid(Model).Columns(column => {
column
.For(x => x.CreationTime).Format("{0:g}");
column
.For(x => x.OtherPropery);
column
.For(x => x.YetAnotherProperty);
column
.For(x => Html.CheckBox(x.IdThatICanUseToGrabModels, new {@class = "isSelectedCheck"}))
.Header(@<div><input type="checkbox" id="isSelectedHeader"/></div>);
});
Когда я представить мою сетку с помощью формы POST, я хотел бы быть чтобы определить, какие строки были выбраны, и действовать соответственно в моей логике контроллера. Последний оператор column.For(...)
создает ввод флажка и скрытый ввод.
Видимо, это ожидаемое поведение. Поскольку два входа получают одно и то же имя, как можно ожидать, что цикл будет проходить через объект FormCollection
и выберет правильные значения? Каждый ключ (с именем x.IdThatICanUseToGrabModels
) может содержать более одного значения.
Как проходят другие люди?
спасибо,
Брайен
Это выглядит намного лучше, чем мое решение, но я смущен вашей собственностью 'IdThatICanUseToGrabModels'. Должно ли это быть 'int' с отдельным свойством' bool IsSelected' или я что-то неправильно понимаю? –