Я пытаюсь написать клон, подобный TinyURL, в ASP.NET MVC в качестве первого проекта, который привыкнет к фреймворку.
Маршрутизация URL все еще немного сбивает меня с толку, особенно когда я отклоняюсь от контроллера / action / id.
Может ли кто-нибудь из вас, ниндзя ASP.NET MVC, помочь мне настроить простой URL-маршрут, аналогичный тому, как TinyURL.com обрабатывает свои маршруты?
Например:
www.tinyurl.com /
Перенаправляет на страницу индекса. Поэтому, если параметры не передаются, просто вызовите представление Index ().
Однако, если вы передадите свой хэш tinyurl, мне нужно вызвать действие redirect ().
www.tinyurl.com / fbc13
Итак, как мне настроить этот пользовательский маршрут?
routes.MapRoute(
"Default", // Route name
"{tinyhash}", // URL with parameters
new { controller = "Link", action = "ReDirect", tinyhash = "" } // Parameter defaults
);
Это не совсем правильно, потому что, если вы просто посещаете страницу без хэша в URL-адресе, я получаю значение по умолчанию для действия ReDirect (), когда я хочу вместо этого вызвать метод Index ().
Предложения о том, как имитировать базовый маршрут, подобный TinyURL?