В следующем сокращенном cshtml-фрагменте я использую 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
) может иметь более одного значения.
Как другие люди справляются с этим?
спасибо,
Брайен