ASP.NET MVC 3路由多个参数没有查询字符串

时间:2012-05-29 00:28:40

标签: asp.net-mvc-3 razor asp.net-mvc-routing

我有以下路线设置,但它没有按照我期望的方式出现。是的我还是MVC的新手。

它的出现方式是这样的。

http://localhost:29998/Home/States?make=Chrysler

我希望它出来的方式就像这样

http://localhost:29998/Home/Chrysler/States

当然,一旦你点击你的状态,它就会是这样的。

http://localhost:29998/Home/Chrysler/Florida

我真的很想能够完全删除“从那里回家并将其留作

http://localhost:29998/Chrysler/States

routes.MapRoute(
                "States", // Route name
                "{controller}/{action}/{make}", // URL with parameters
                new { controller = "Home", action = "States", Make = "" } // Parameter defaults
            );

1 个答案:

答案 0 :(得分:0)

以下是您的解决方案:

localhost:29998/Chrysler/States

routes.MapRoute(
                "States", // Route name
                "{make}/{states}/", // URL with parameters
                new { controller = "Home", action = "GetStateData", make="", states="" } 
            );

您应该将其置于默认路由方法下方,以便它不会占用您的控制器值。