2010-12-11 56 views
3
查询字符串参数

我有以下途径如何避免在MVC

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

出于某种原因,每当我打电话RedirectToAction,该网址会

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

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

我想什么是

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

如何实现这一目标?

回答

3

我的猜测是,RedirectToAction电话正在捡起默认路线,而不是你的专门路线。

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

您是否在之前将该路线默认路由?

+1

那正是它的样子 – 2010-12-11 07:54:04

+0

@Sir Psycho--嘿嘿,这么想。如果你还没有,请抓住Phil Haack的“路由调试器”。将为您节省大量的路由调试时间。 – RPM1984 2010-12-11 08:48:41