Это мой путь конфигурация:маршрут ограничения asp.net MVC
routes.MapRoute(
name: "AdsCategories",
url: "Ads/{key}",
defaults: new { controller = "Ads", action = "Index" },
//constraints: new { key = },
namespaces: new string[] { "Vprok.Controllers" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new string[] { "Vprok.Controllers"}
);
Как создать ограничение "AdsCategories"? Мне нужно использовать маршрут по умолчанию, если действие в контроллере «Объявления» == {ключ}.
Благодарим вас за этот вариант. Но я бы не хотел, чтобы каждый раз изменялся режим маршрутизации, когда новое действие добавляется в контроллер. – Buboon
В этом случае вы можете написать собственное ограничение: http://www.asp.net/mvc/tutorials/controllers-and-routing/creating-a-custom-route-constraint-cs, где вы будете динамически проверять, является ли действие существует или нет. Очевидно, что это будет намного медленнее, так как это будет необходимо для оценки по каждому запросу. Я бы пошел с маршрутом регулярного выражения. –