Я работаю над переносом существующего веб-сайта ASP.NET в проект MVC. Есть несколько (более 60) страниц, которые я пока не хочу переписывать, и поэтому мне интересно, есть ли способ, которым я могу:
- Переместите существующие страницы .aspx (как файлы разметки, так и файлы с выделенным кодом) в папку «Legacy» в моей структуре MVC
- Настройте маршрутизацию так, чтобы вызов /foo.aspx (без 'legacy') фактически вызывал ~ / Legacy / foo.aspx
По сути, я не хочу, чтобы «устаревшие» в URL-адресе, но я также не хочу, чтобы решение MVC было полно устаревших .aspx страниц. Я согласен, что это очень незначительный момент, мне просто любопытно, можно ли это сделать с помощью маршрутизации.
Я понимаю, что могу сделать:
routes.MapPageRoute("legacy-foo", "Foo.aspx", "~/Legacy/Foo.aspx");
но мне интересно, есть ли способ сделать это динамически (используя маршруты MVC)? например:
routes.MapPageRoute("legacyroutes", "{filename}.aspx", "~/Legacy/{filename}.aspx");
Полагаю, одним из способов является использование модуля перезаписи URL, но это выглядит несколько излишним, если маршруты способны делать это изначально.