0

我正在实现一个具有文件文件夹系统的系统(用户可以拥有文件夹,并且每个文件夹都可以再次拥有文件或文件夹)。我想根据文件夹构建 URL。假设用户有一个文件夹“Folder1”,其中还有另一个文件夹“Folder2”。当我在 Folder1 中时,我希望 Url 看起来像“Home/Folder1”,当用户单击“Folder1”中的“Folder2”时,Url 应该看起来像“Home/Folder1/Folder2”,它可以永远这样: )

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//   THIS IS THE LINE I ADDED
        routes.MapRoute(
            "Home",
            "{folderPath}",
            new { controller = "Home", action = "Index", folderPath = UrlParameter.Optional }
        );      
//   END OF LINE I ADDED           
        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = -1 }
        );
    }
}

我更改了 RouteConfig 文件,现在我可以拥有 'Home/Folder1' 和 'Home/Folder2' 不幸的是,这不是我想要的:/

我希望我清楚地解释了我的问题。如果有人可以帮助我,我将不胜感激。通过我实际上使用MVC4。

4

1 回答 1

0

将 * 添加到文件夹路径:

"{*folderPath}",

但这将使第二条路线无用。

于 2012-11-05T13:50:29.333 回答