Я сейчас создаю базовое приложение для блога, для просмотра данных я просто использую маршрут по умолчанию, т.е. -
routes.MapRoute
(
"Default", // Route name
"{controller}/{action}/{id}",
new { controller = "Blog", action = "Index", id = UrlParameter.Optional }
);
Чтобы при переходе на mysite.com/View/12 отображался блог с идентификатором 12. Я хочу изменить URL-адреса так, чтобы они выглядели следующим образом: mysite.com/View/2010/06/01/this -is-The-заголовок.
У меня могло бы быть отображение URL как -
routes.MapRoute(
"View",
"View/{year}/{month}/{day}/{title}",
new { controller = "Blog", action = "View" }
);
Но тогда я не передаю идентификатор в действие Controller, поэтому мне придется искать дату и заголовок, который кажется неправильным. С другой стороны, если я передам идентификатор, он будет отображаться в URL-адресе, к которому я не стремлюсь. Есть ли способ перенаправить на URL, который я хочу в действии контроллера, после передачи только идентификатора в качестве параметра или передать идентификатор в маршрут карты, но скрыть его в URL?
Спасибо за вашу помощь!