2010-12-11 52 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