我剛剛在ASP.NET MVC 3中觀看了URL路由中的Pluralsight視頻。我仍然有點困惑。MVC更改URL路由
這種形象展示我的看法是如何設置的。我爲每個視圖都有一個控制器。也許我誤解了一些東西,但是當我這樣做時,我想通過添加投資組合視圖和控制器而不是去/ home/portfolio,它只需要我/投資組合,但它沒有。現在當我點擊投資組合鏈接時,我需要到/投資組合/投資組合。
我誤解了有關在ASP.NET中路由工作的方式,或者我只是忘記了一些東西?
我剛剛在ASP.NET MVC 3中觀看了URL路由中的Pluralsight視頻。我仍然有點困惑。MVC更改URL路由
這種形象展示我的看法是如何設置的。我爲每個視圖都有一個控制器。也許我誤解了一些東西,但是當我這樣做時,我想通過添加投資組合視圖和控制器而不是去/ home/portfolio,它只需要我/投資組合,但它沒有。現在當我點擊投資組合鏈接時,我需要到/投資組合/投資組合。
我誤解了有關在ASP.NET中路由工作的方式,或者我只是忘記了一些東西?
它會帶您到Portfolio/Portfolio
,因爲這就是您命名設置的方式。第一個是您的控制器的名稱(名稱中沒有控制器)PortfolioController
。第二個是你的名字ActionResult
,Portfolio
,它返回Portfolio.cshtml
。如果你希望只看到/Portfolio
你總是可以有PortfolioController
使用
public ActionResult Index(){ return View(); }
,然後重命名Portfolio.cshtml
到Index.cshtml
,你應該是好去。
將動作和視圖重命名爲Index。
當您有本地主機/投資組合時,您將調用默認操作的投資組合,默認情況下這將是索引,您將看到該視圖,因爲您沒有該視圖,您可以使用一個 訪問您的在你的投資組合控制器系列動作由/組合/資產組合
因爲它遵循默認路由,如果你想獲得/組合相同的結果是在app_start文件夾
routConfig.cs /組合只是/你可以在你的路由配置中添加這樣的路由
routes.MapRoute(
name: "portfolio",
url: "portfolio/{action}",
defaults: new { Controller = "portfolio", Action = "portfolio" }
);
小心編寫默認之前的路線,因爲當它匹配的第一個路由,將不檢查其他
對不起我的英文不好
好吧,那現在的工作我也是剛剛纔弄清楚如何更改_Layout.cshtml中的ActionLink指向新的鏈接,因爲它指向舊的/投資組合/投資組合 – tylerbhughes 2013-04-26 22:06:09
沒關係,我明白了。 – tylerbhughes 2013-04-26 22:09:00