#c# #asp.net #webforms #routing
#c# #asp.net #веб-формы #маршруты
Вопрос:
Я начинаю новый проект webforms с использованием Microsoft.AspNet.FriendlyUrls, но хотите иметь возможность задавать маршрут по умолчанию для папки. У меня есть папка с именем news, которая содержит news.aspx и newsitem.aspx. Я хотел бы иметь возможность маршрутизировать следующим образом:
http://sitename/news - Routes to ~/news/news.aspx
http://sitename/news/news - Routes to ~/news/news.aspx
http://sitename/news/newsitem - Routes to ~/news/newsitem.aspx
Второй и третий маршруты работают с использованием приведенного ниже кода, но не http://sitename/news
public static class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
var settings = new FriendlyUrlSettings();
settings.AutoRedirectMode = RedirectMode.Permanent;
routes.EnableFriendlyUrls(settings);
routes.MapPageRoute("NewsDefault", "news", "~/news/news.aspx");
}
}
Ответ №1:
Найдено решение
Необходимо добавить routes.RouteExistingFiles = true;
public static void RegisterRoutes(RouteCollection routes)
{
var settings = new FriendlyUrlSettings();
settings.AutoRedirectMode = RedirectMode.Permanent;
routes.EnableFriendlyUrls(settings);
routes.RouteExistingFiles = true;
routes.MapPageRoute("NewsDefault", "news", "~/news/news.aspx");
}