【发布时间】:2013-03-09 05:03:51
【问题描述】:
我正在构建一个 MVC 应用程序,现在我的视图会生成一组项目。用户要发送数据需要勾选复选框。
这是我的观点以及它是如何构建的:
<script type="text/javascript">
$(document).ready(function() {
//alert("The document is ready");
$("#selectAll").click(function() {
//alert("The case has been clicked");
var chkValue = $(this).is(":checked");
$(".divChckBox").prop("checked", chkValue);
});
});
</script>
<p>
@using (Html.BeginForm("SendObj", "Manager"))
{
<p>
Select / UnSelet All Items @Html.CheckBox("selectAll", true)
</p>
<table>
<tr>
<th>Card Name</th>
<th>Number In Stock</th>
(...)
</tr>
@for (int i = 0; i < Model.Count(); i++)
{
<tr>
<td>@Html.DisplayFor(x => x[i].m_OthObj.m_ObjName)</td>
<td>@Html.DisplayFor(x => x[i].m_NbInStock)@Html.HiddenFor(x => x[i].m_NbInStock)</td>
(...)
<td>
<input type="checkbox" name="itdoesnotmatter" class="divChckBox" checked="true"/>
</td>
</tr>
}
</table>
<input type="submit" value="Send"/>
}
</p>
所以你明白为什么我不能使用“CheckboxFor”。现在我要做的是只发送复选框状态为“已选中”的项目。我知道如何通过模型绑定(checkboxfor)来做到这一点,但我对如何构建它一无所知。 我需要返回一个项目列表。那么我该怎么做呢?非常感谢!
【问题讨论】:
-
只需提供模型的 ID 作为复选框的值,然后接收
IList<String>(或Int32、Guid等)并交叉引用选择和提交的那些. (另外,有趣的是,您有以m_*开头的公共属性,因为这通常是类成员(内部)的象征) -
您是在问如何通过 POST 将其发送回您的控制器吗?
-
@MikeC。 : 是的,没错。
标签: c# asp.net-mvc html razor