我在MVC3中有一个视图,它有一堆复选框。用户选中一个或多个复选框并单击“提交”。在提交时,我想在局部视图或视图中显示复选框值。
<table>
<tr><td> @Html.Label("Label1")</td><td> @Html.CheckBox("CB1")</td></tr>
<tr><td> @Html.Label("Label2")</td><td> @Html.CheckBox("CB2")</td></tr>
<tr><td> @Html.Label("Label3")</td><td> @Html.CheckBox("CB3")</td></tr>
</table>
@Html.ActionLink("Submit", "SubmitCB")
控制器操作:
public ActionResult SubmitCB()
{
@foreach (var checked in ?)
{
//Display checked only here...
}
}
我想知道如何循环并在局部视图或视图中显示结果。谢谢你的帮助。
答案 0 :(得分:1)
您需要更改操作以允许其绑定到提交的表单。此外,您需要正确提交表单(我建议将其包装在表单标签中并使用提交按钮而不是操作链接。但这是您的操作的样子:
public ActionResult SubmitCB(bool CB1, bool CB2, bool CB3)
{
... // use CB1, CB2, and CB3 here
}
如果您希望这些复选框位于列表中,则需要为它们指定相同的名称和不同的值。然后你可以让你的动作采用SubmitCB(string[] CBs)
之类的东西,然后查看该数组中的值(它们将是所选复选框的值)。