Asp.net mvc 3 在ASP.NET MVC 3中将参数集合传递给操作
我有一个ASP.NETMVC3应用程序。在这个应用程序中,我需要根据选定的值列表进行查询。我的问题是,在asp.net mvc中有没有一种方法可以将列表作为参数传递给视图?例如,理想情况下,我希望使用以下内容:Asp.net mvc 3 在ASP.NET MVC 3中将参数集合传递给操作,asp.net-mvc-3,action,Asp.net Mvc 3,Action,我有一个ASP.NETMVC3应用程序。在这个应用程序中,我需要根据选定的值列表进行查询。我的问题是,在asp.net mvc中有没有一种方法可以将列表作为参数传递给视图?例如,理想情况下,我希望使用以下内容: [AcceptVerbs(HttpVerbs.Get)] public ActionResult CustomerOrderStatus(List<int> orderIDs) { // Do stuff } [AcceptVerbs(HttpVerbs.Get)] 公
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult CustomerOrderStatus(List<int> orderIDs)
{
// Do stuff
}
[AcceptVerbs(HttpVerbs.Get)]
公共操作结果CustomerOrderStatus(列出医嘱ID)
{
//做事
}
我不确定如何在控制器中路由映射。这种方法可行吗?是一种可行的解决方案
<a href="<%= Url.Action("CustomerOrderStatus")%>?ids=2&ids=1&ids=3">Test link</a>
好吧,您可以使用一个小Url.helper,内容如下:
public static class Helpers
{
public static string ListToAction (this UrlHelper helper, string listName, int[] values)
{
string finalOutput = values.Aggregate("?", (current, value) =>
current + string.Format("{0}={1}&", listName, value));
return finalOutput.Substring(0, finalOutput.LastIndexOf("&"));
}
}
用法:
<a href="@Url.Action("CustomerOrderStatus")@Url.ListToAction("orderIDs", new int[]{1,2,6,9})">Test link</a>
只是一个疯狂的想法:)便利提示:因为它是MVC 3,所以可以用[HttpGet]替换[AcceptVerbs(HttpVerbs.Get)]。如果您愿意,也就是说。您是否打算通过ajax调用或表单提交或其他方式访问此方法?