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 に追加します。

"{*folderPath}",

しかし、それでは 2 番目のルートが役に立たなくなります。

于 2012-11-05T13:50:29.333 に答える