2011-07-02 76 views
4

我將如何創建接受斜槓而不考慮其新參數的MapRoute? 如果URL是MVC3 MapRoute,帶斜線的參數

http://localhost/root/p1/default.aspx 

我想一個參數拿起一切本地主機(根/ P1/Default.aspx的)之後。通常這需要三個參數,因爲有兩個斜線,maproute用斜線分隔參數。 因此,如果路線看起來像

routes.MapRoute(
    "URLMapRoute", 
    "{path}", 
    new { controller = "Home", action = "Index", path = "default.aspx" } 
); 

然後{}路徑拿起一切,即使網址中包含斜槓。

回答

8

你可以使用一個包羅萬象的路線:

routes.MapRoute(
    "URLMapRoute", 
    "{*path}", 
    new { controller = "Home", action = "Index", path = "default.aspx" } 
); 

然後:

public ActionResult Index(string path) 
{ 
    ... 
} 
+0

謝謝!它工作的很棒=) –

+0

@Darin Dimitrov:對此有幫助嗎? http://stackoverflow.com/questions/24932519/mvc-how-to-manage-slahses-in-route-parameters/ –