Сопоставить несколько маршрутов с 1 действием в asp.net mvc - PullRequest
1 голос
/ 20 сентября 2011

Я хочу отобразить несколько URL на 1 действие, но я просто хочу 1 маршрут.

Например,

routes.MapRoute(
    "SingleUser_Long",
    "Users/{username}",
    new { controller = "Users", action = "SingleUser" });

routes.MapRoute(
    "Users",
    "{username}",
    new { controller = "Users", action = "SingleUser" });

Можно ли как-то сложить эти 2 в 1?Это становится утомительным, когда мне нужно добавить больше, и я сохраняю копии / вставку дубликатов, только чтобы добавить «Пользователи» перед URL.

1 Ответ

1 голос
/ 21 сентября 2011
    routes.MapRoute("SingleUser", 
      "{controller}/{username}",
       new { controller = "Users", action = "SingleUser", 
                 controller = UrlParameter.Optional },
       new { controller = @"/(^\s*)|\bUsers\b"}

используя ограничение, чтобы ограничить "{controller}" пустым или только "Пользователи" (не уверен, что регулярное выражение верно)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...