2010-10-28 235 views
2

我想弄清楚如何將請求中的應用程序路由到默認控制器/任務/ ID。ASP.NET MVC默認路徑

這是我的一個路由指令......

routes.MapRoute(
    "Default", // Route name 
    "{controller}/{action}/{id}", // URL with parameters 
    new 
    { 
    controller = "LML", 
    action = "TaskLibrary", 
    id = 7 
    //id = UrlParameter.Optional 
    } // Parameter defaults 
    ); 

利用這一點,如果我輸入的 'http:// mywebsite /',適當的控制器/操作/ ID叫。不過,我希望URL能夠反映這一點。而不是我輸入的網址。

使用路由,有沒有一種方法來影響URL,以便它重新顯示與它默認顯示的控制器/動作/ ID同步?或者我必須創建某種重定向操作?

+0

請在下次使用asp.net標記---- mvc是一個通用術語,它不是asp特定的。 – 2010-10-28 04:44:51

回答

3

路由是關於將請求映射到操作而不是重定向。

你可以改變你的默認路由參數默認爲是簡單地重定向另一個行動「LML/TaskLibrary/7」

+0

感謝您的快速響應。我只是在學習MVC。所以你建議默認的路由參數是一個控制器動作,只是重定向到一個默認的URL?如果明顯,對不起仍在學習! – 2010-10-28 04:34:42

+2

請記住,當請求不匹配時使用默認路由參數。使用你的路由,下面的請求是相同的 - 「/」,「/ LML」,「/ LML/TaskLibrary」和「/ LML/TaskLibrary/7」。由您決定最適合您的網站的着陸頁(沒有參數,因此請使用所有默認值)。 – Phil 2010-10-28 04:40:48

2

我新的ASP.NET MVC 4,常常喜歡看看那裏的變化可以做成。因此,對於那些希望看到在代碼中以前的答案誰...

在RouteConfig.cs

routes.MapRoute(
       name: "Default", 
       url: "{controller}/{action}/{id}", 
       defaults: new { controller = "LML", action = "TaskLibrary", id = 7 } 
       ); 

從原來的例子的主要區別是增加了「默認」。

我希望這可以幫助別人!