是否可以使用maproute在asp.net mvc中路由多个参数

本文关键字:路由 参数 mvc net 可以使 maproute asp 是否 | 更新日期: 2023-09-27 18:00:31

我希望用户能够使用restful语法访问对象(可以是JSON或XML),而不必使用查询字符串。

因此,它们可以执行类似http://mywebsite.com/objects/obj1/obj2/的操作,而不是http://mywebsite.com/objects/get=obj1&get=obj2&get=someotherobject/,并且会返回xml/JSON。它们可以按照任何顺序列出对象,就像使用查询字符串一样。

在asp.net mvc中,您可以绘制这样的路线:

       routes.MapRoute(
           "MyRoute",
           "MyController/MyAction/{param}",
           new { controller = "MyController", action = "MyAction", param = "" }
       );

我想做一些类似的事情:

       routes.MapRoute(
           "MyRoute",
           "MyController/MyAction/{params}",
           new { controller = "MyController", action = "MyAction", params = [] }
       );

其中CCD_ 3阵列将包含每个get。

是否可以使用maproute在asp.net mvc中路由多个参数

不完全是。

您可以通过映射{*params}来创建通配符参数
这将为您提供一个包含所有参数的单个字符串,然后您可以使用.Split('/')

您可以使用catchall参数

   routes.MapRoute(
       "MyRoute",
       "MyController/MyAction/{*params}",
       new { controller = "MyController", action = "MyAction"}
   );

这将把params作为一个字符串传递,您可以在/上拆分它来获得一个数组。