2010-12-11 4 views
3

Я следующий маршрутКак избежать параметров строки запроса в 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

Как этого добиться?

ответ

3

Я предполагаю, что звонок RedirectToAction подбирает маршрут по умолчанию, а не ваш специализированный маршрут.

По умолчанию при передаче значений маршрута MVC будет добавлять значения в качестве параметров запроса.

Вы отправили этот маршрут прежде, чем был выбран маршрут по умолчанию?

+1

Это именно то, что было –

+0

@Sir Psycho - хе-хе, подумал так. Если вы еще этого не сделали, возьмите «Отладчик маршрута» Фила Хаака. Сэкономит вам много времени отладки маршрута. – RPM1984

Смежные вопросы