2012-11-05 81 views
0

我正在實現一個具有文件夾系統的系統(用戶可以擁有文件夾,每個文件夾可以再次包含文件或文件夾)。我想根據文件夾建立Url。可以說一個用戶有一個文件夾'Folder1',並在其中有另一個文件夾'Folder2'。當我在Folder1中時,我想讓Url看起來像'Home/Folder1',當用戶點擊'Folder1'中的'Folder2'時,Url應該看起來像'Home/Folder1/Folder2',它可以永遠這樣下去: )使用mvc4自定義路由

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文件,現在我能有「家/資料夾」和「首頁/資料夾」不幸的是這不是我想要的:/

我希望我解釋了我的問題如果任何人都可以幫助我,我將不勝感激。由我實際上使用MVC4。

回答

0

添加*要FOLDERPATH:

"{*folderPath}", 

但是,這將使第二條路線沒用。

+0

它不工作,因爲我想:/我得到了相同的結果:/ –

+0

我不是一個心靈的讀者。什麼不按你想要的方式工作?你得到什麼結果? 你想構建網址嗎?在這種情況下,你將不得不手動建立一個url。 – ZippyV

+0

也許我無法表達我想要清楚的東西。我想要構建網址的方式是,如果文件夾1,2和3以該順序嵌套,它可以顯示嵌套的文件夾結構,如「主頁/文件夾1 /文件夾2 /文件夾3」。即使我每次訪問嵌套文件夾結構時都會調用Home控制器的文件夾操作,我需要相應地將文件夾名稱追加到Url。 –