#asp.net #asp.net-mvc #iis-7 #routing #webforms
#asp.net #asp.net-mvc #iis-7 #маршруты #webforms
Вопрос:
У меня есть наследие ASP.Net Сайт Webforms, который я конвертирую в MVC. Существующие страницы веб-форм находятся в корневом каталоге приложения (http://localhost/legacypage.aspx ), но я хочу, чтобы они находились в папке / legacy / в приложении MVC, чтобы мне не приходилось постоянно видеть их в решении Visual Studio. Однако я не хочу, чтобы устаревшие страницы включали подкаталог в URL (http://localhost/legacy/legacypage.aspx ), Я хочу, чтобы они продолжали быть доступными с исходного URL
Ответ №1:
Вы могли бы сделать что-то подобное в своем global.asax:
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute(null, "{pagename}.aspx", "~/legacy/{pagename}.aspx");
}
Возможно, вам также потребуется другой вызов MapPageRoute для / route, потому что это исправит только маршрут / default.aspx.
Комментарии:
1. будет ли этот подход включать параметры строки запроса?
2. Да — это будет охватывать параметры строки запроса — только что протестировал это.