asp.net-mvc - 如何将整数列表传递给 MVC 操作?

标签 asp.net-mvc controller

我有一个依赖于整数列表的 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/

相关文章:

c# - 如何以编程方式重启 MVC4 项目

Grails 渲染不同 Controller 的 View

grails - 如何从Grails应用程序中的gsp重定向到 Controller 的 Action

c# - FilePathResult 的已完成事件

javascript - 切换 View 不会以 Angular 切换 Controller

java - 如何像使用 HttpServletRequest 一样从 Spring MVC 中的 org.springframework.web.context.request.WebRequest 获取 requestUrl?

c# - 执行时 ASP.Net MVC "Could Not Load Type"

asp.net-mvc - MVC EditorFor 在另一个 EditorFor 中

asp.net-mvc - 使用Signalr有哪些优点和缺点

javascript - JSON.stringify 忽略嵌套对象