如何避免MVC中的查询字符串参数

时间:2010-12-11 06:13:00

标签: asp.net-mvc

我有以下路线

routes.MapRoute("CreateBook", "{controller}/{action}/{slug}/{name}", new { controller = "CreateBook", action = "Index" , slug = UrlParameter.Optional, name = UrlParameter.Optional});

出于某种原因,每当我调用RedirectToAction时,URL都显示为

  

返回RedirectToAction(“参数”,新{slug = 1234,name =“helloworld”});

http://localhost/CreateBook/Parameters?slug=1234?name=helloworld

我想要的是

http://localhost/CreateBook/Parameters/1234/helloworld

我如何实现这一目标?

1 个答案:

答案 0 :(得分:3)

我的猜测是,RedirectToAction来电正在接收默认路线,而非您的专用路线。

默认情况下,当您传入路由值时,MVC会将值附加为查询字符串参数。

您是否在默认路线之前放置了路线?