通过带有 params 关键字的 GET 将多个参数传递给 MVC 控制器操作

Hal*_*him 6 c# parameters asp.net-mvc actionmethod

有没有办法通过使用 params 关键字将多个参数传递给带有 GET 的操作方法,如下所示?

http://.../Method/param1/param2/param3/..../paramN
Run Code Online (Sandbox Code Playgroud)

动作方法应如下:

public ActionResult Method(params string[] parameters)
{
//Do what ever.
}
Run Code Online (Sandbox Code Playgroud)

Ali*_*hşi 3

如果你需要这个 url 路由,你可以使用这样的东西:

routes.MapRoute("Name", "param/{*params}", new { controller = ..., action = ... });

ActionResult MyAction(string params) {
    foreach(string param in params.Split("/")) {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 是否可以将 int 值发送到 Action(params int[] arr),然后使用服务器上的 int 数组而不是字符串? (2认同)