Asp.net mvc 将选中的复选框张贴到控制器操作,而不使用HTML帮助程序(如HTML.CheckboxList)
我有一个项目列表,我想删除在复选框列表中选中的项目 我不能使用类似于Asp.net mvc 将选中的复选框张贴到控制器操作,而不使用HTML帮助程序(如HTML.CheckboxList),asp.net-mvc,razor,model-binding,Asp.net Mvc,Razor,Model Binding,我有一个项目列表,我想删除在复选框列表中选中的项目 我不能使用类似于CheckboxList的东西,因为我正在使用Grid.Mvc来显示我的行。这就是为什么我在每一行的列中创建复选框。添加(“); 每个复选框都有自己的ID: <input type="checkbox" id="3"> <input type="checkbox" id="4">... ... 我想知道如何将所有选中的复选框ID传递给控制器(从那里我将执行删除操作)。如何通过一个按钮将表单中的选中I
CheckboxList
的东西,因为我正在使用Grid.Mvc
来显示我的行。这就是为什么我在每一行的列中创建复选框。添加(“);
每个复选框都有自己的ID:
<input type="checkbox" id="3">
<input type="checkbox" id="4">...
...
我想知道如何将所有选中的复选框ID传递给控制器(从那里我将执行删除操作)。如何通过一个按钮将表单中的选中ID数组发布到控制器操作?生成的HTML示例:
<label><input type="checkbox" name="deletedItems" value="3"> Some label for 3</label>
<label><input type="checkbox" name="deletedItems" value="4"> Some label for 4</label>
...
<button type="submit">Submit</submit>
请注意,复选框没有
id
属性。它不用于模型绑定。相反,它有一个名为“deletedItems”的name
属性“它与MyAction
控制器操作的参数名称匹配,这是在绑定模型时使用的。选中复选框的值
属性将用于填充int[]
的deletedItems
数组,如果您希望生成类似的html
<label><input type="checkbox" name="deletedItems" value="3"> Some label for 3</label>
<label><input type="checkbox" name="deletedItems" value="4"> Some label for 4</label>
3的一些标签
一些4的标签
然后可以使用以下代码
<td>@Html.CheckBox("selectedItems", new { @value = @item.checkId })</td>
<td><input id="selectedItems" name="selectedItems" type="checkbox" value="11503" />
<input name="selectedItems" type="hidden" value="false" />
</td>
@Html.CheckBox(“selectedItems”,new{@value=@item.checkId})
它不会将selectedItems传递给控制器。您需要编写一些JavaScript或jQuery来解析它们以发送它们。除此之外,我们还需要了解您尝试过哪些仍然无效。此链接将非常有用。我不能使用checkboxlist,因为我使用Grid.Mvc来显示我的行。这就是为什么我在每一行和列中创建复选框。添加(“);我想这就是我需要的。谢谢!最简单的解决方案,而不是传递整个表单。这是一个糟糕的解决方案。大多数人需要的不仅仅是复选框结果。它应该通过模型来实现。
<td>@Html.CheckBox("selectedItems", new { @value = @item.checkId })</td>
<td><input id="selectedItems" name="selectedItems" type="checkbox" value="11503" />
<input name="selectedItems" type="hidden" value="false" />
</td>