使用Microsoft.AspNet.FriendlyUrls webforms的默认文件夹路由

时间:2014-06-17 10:43:02

标签: c# asp.net webforms routing

我正在使用Microsoft.AspNet.FriendlyUrls启动新的webforms项目,但希望能够为文件夹设置默认路由。我有一个名为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 个答案:

答案 0 :(得分:3)

找到解决方案

需要添加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");
        }