无法将列表从视图发送到控制器(列表变为空)



在我的一个项目中,我尝试将所有列表从视图发送到控制器。在控制器中接收为null,但在其他项目中效果良好。

(代码没有问题(

例如,我向控制器发送一个数字列表,但当我跟踪代码时,该列表为空。

(我使用的是asp.net MVC 5.2.7.0(

视图:

List<DataLayer.Model.Products> groups = ViewBag.Groups;
<ul>
@foreach (var group in groups.Where(g => g.ParentID == null))
{
<li>
<input type="checkbox" name="selectedGroups" value="@group.GroupID" /> <span>@group.GroupTitle</span>
@if (groups.Any(g => g.ParentID == group.GroupID))
{
<ul>
@foreach (var subGroup in groups.Where(g => g.ParentID == group.GroupID))
{
<li>
<input type="checkbox" name="selectedGroups" value="@subGroup.GroupID" /> <span>@subGroup.GroupTitle</span>
</li>
}
</ul>
}
</li>
}
</ul>

<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="save" class="btn btn-success" />
</div>

控制器:

public ActionResult Create(List<int> selectedGroups)
{
if (selectedGroups == null)
{
ViewBag.ErrorSelectedGroup = true;
ViewBag.Groups = db.ProductsGroups.ToList();
return View(model);
}
}

如果显示空错误当我跟踪代码selectedGroups列表时,为空

如果我没记错,您必须向输入的name属性添加一个索引。类似于:

<input type="checkbox" name="selectedGroups[0]" value="@subGroup.GroupID" />
<input type="checkbox" name="selectedGroups[1]" value="@subGroup.GroupID" />

最新更新