我有一个依赖于整数列表的 Action 。我的第一直觉是简单地用一个列表来声明这个 Action 。
我尝试将 Controller 中的操作声明为:
public ActionResult EditMultiple(List<int> ids)
在我的 View 调用中,如下所示:
<%= Html.ActionLink("EditMultiple", "EditMultiple", new { ids = new List<int> {2, 2, 2} })%>
虽然当我在操作中放置断点时它编译列表是空的。有人知道为什么或有替代方法吗?
添加有关场景的更多详细信息:
我正在尝试同时“编辑”多个实体。我已经有了一个应用程序,允许我创建/编辑/查看有关图书馆书籍的信息。我有一个局部 View ,允许用户编辑有关一本书的信息并将其保存到数据库中。
现在我想创建一个 View ,它允许用户使用单个提交按钮编辑有关多本书的信息。我创建了一个 Action EditMultiple,它只呈现每本书的部分内容(我的这个 View 的模型是 List),然后添加提交按钮。
最佳答案
是的。默认模型绑定(bind)器可以将“ids”绑定(bind)到任何 ICollection。但是你必须提交多个同名的参数。这消除了使用辅助方法“ActionLink”。您可以使用 url helper Action 并将 id 附加到链接中,如下所示:
<a href="<%= Url.Action("CreateMultiple")%>?ids=2&ids=1&ids=3">Test link</a>
Here's the link从哈克的街区。
关于asp.net-mvc - 如何将整数列表传递给 MVC 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3208582/