Это еще не проверено, но только идея:
Global.asax:
routes.MapRoute("DbRoute", "{dbValue1}/{dbValue2}", new {controller = "RouteController", action = "Index"});
routes.MapRoute("Default", "{controller}/{action}/{id}", new {controller = "Home", action = "Index", id = UrlParameter.Optional});
затем в действии метода Index()
внутри класса RouteController
, вы проверяете на dbValue1
и dbValue2
.Если не совпадает, вы можете использовать метод RedirectToRoute("Default", ...)
.
Таким образом, любой запрос сначала будет соответствовать DbRoute
, а RouteController
проверит значение db, если не совпадает, просто перенаправьте маршрут наDefault
и визуализация представления на основе контроллер / действие .