【问题标题】:How to get the selected list of items from checkboxlist and pass it to the Action in MVC4如何从 checkboxlist 中获取选定的项目列表并将其传递给 MVC4 中的 Action
【发布时间】:2012-11-01 13:48:51
【问题描述】:
【问题讨论】:
标签:
c#
asp.net
asp.net-mvc
asp.net-mvc-3
checkbox
【解决方案1】:
查看:
@foreach (var item in Model.Tags)
{ <label>
<input type="checkbox" name="tag" value="@item.TagID" @if (item.Selected) { <text>checked="checked"</text> } />@item.Name
</label>
}
控制器:
[HttpPost]
public RedirectToRouteResult Edit(IEnumerable<Guid> tag)
{
using (var dc = new MyDataContext())
{
var existing = dc.Tag
.Select(i => i.TagID)
.ToList();
// remove old
foreach (var id in existing.Except(tags.EmptyIfNull()))
dc.Tag.DeleteOnSubmit(dc.Tag.Single(k => k.TagID == id);
// add new
foreach (var id in tags.EmptyIfNull().Except(existing))
dc.Tag.InsertOnSubmit(new Tag() { TagID = id, });
dc.SubmitChanges();
}
return RedirectToAction("List");
}