我有一个取决于整数列表的动作.我的第一直觉是简单地用List声明动作.
我尝试在控制器中声明操作为:
public ActionResult EditMultiple(List<int> ids)
在我的View调用中如下:
<%= Html.ActionLink("EditMultiple","EditMultiple",new { ids = new List<int> {2,2,2} })%>
虽然当我在动作中放置一个断点时,它编译列表是空的.有谁知道为什么或有替代方法?
添加有关场景的更多详细信息:
我正在尝试同时“编辑”多个实体.我已经有了一个应用程序,允许我创建/编辑/查看库中书籍的信息.我有一个局部视图,允许用户编辑有关单本书的信息并将其保存到数据库中.
现在我想创建一个View,允许用户使用一个提交按钮编辑有关多本书的信息.我创建了一个动作EditMultiple,它只为每本书呈现部分(我的该视图的模型是List),然后添加提交按钮.
解决方法
是.默认模型绑定器可以将“ids”绑定到任何ICollection.但是您必须提交具有相同名称的多个参数.这消除了使用辅助方法“ActionLink”.您可以使用url helper Action并将id附加到链接,如下所示:
<a href="<%= Url.Action("CreateMultiple")%>?ids=2&ids=1&ids=3">Test link</a>
来自哈克的街区Here’s the link.