在下面的视图中,我试图将已选中的复选框值提供给控制器以保存在数据库中。
<div class="editor-label">
<%: Html.LabelFor(model => model.Addresses) %>
</div>
<div class="editor-field">
<% foreach (var item in Model.Addresses)
{ %>
<input type="checkbox"
id="<%: item.addressID %>"
name="addressOption"
value="<%: item.addressID%>"/>
<label for="optionId"><%: item.address%></label>
<br />
<% } %>
</div>
<br />
<div class="editor-label">
<%: Html.LabelFor(model => model.Mobile) %>
</div>
控制器:
AdvanceClient cli = new AdvanceClient();
if (ModelState.IsValid)
{
cli.Mobile = Request.Form["Mobile"];
foreach (var item in Request.Form["Addresses"])
{
//here i need to get the checked checkbox values
}
}
我很难获得已选中复选框的值
答案 0 :(得分:1)
您可以使用以逗号分隔的字符串获取所有值:
var selectedValues = Request.Form["mySharedName"];
// This is now a comma separated list of values that was checked
对你而言:Request.Form["addressOption"]
然后使用for
循环,您可以获得所有值
答案 1 :(得分:0)
您可以存储这样的数组
<input type="checkbox" name="addressOption[0]" id="..." value="..." />
<input type="checkbox" name="addressOption[1]" id="..." value="..." />
<input type="checkbox" name="addressOption[2]" id="..." value="..." />
现在您只需要在模型中使用相同名称的数组
List<int> addressOption;
并将在提交时自动填充。