2016-10-28 72 views
1

我該如何改變默認的controller/actionRouteConfig.cs,以便始終在頁面上顯示第一個網址片段?獲取第一個網址片段

所以如果URL mysite.com的頁面應該是空白的,如果是我mysite.com/somepage應該得到somepage打印的頁面上,如果頁面mysite.com/services我應該得到services打印在頁面上等等。

默認控制器是Home,默認方法操作是Index

我猜的方法會去是這樣的:

public ActionResult Index(string page = "") 
     { 
      return Content(page); 
     } 

但對於RouteConfig.cs

+0

'routes.MapRoute(「Home」,{page},new {controller =「Home」,action =「Index」});'但這意味着你將永遠不會有任何其他路線 - 唯一的方法,你可以導航到'mysite.com/someValue',除非你創建這個之前的所有其他控制器方法的具體路線 –

+0

這似乎是我正在尋找(理論上)。但是我在代碼中出現錯誤:'名稱頁面在當前上下文中不存在' – frc

+0

什麼代碼導致該錯誤? (它不是由於您在問題中顯示的任何內容) –

回答

1

您應該刪除默認路由,並添加自定義的,就像這樣:

// Home route 
routes.MapRoute("Home", "", new { controller = "Home", action = "Index" }); 

在routes.MapRoute第二個參數是URL,在這種情況下是空的。對於服務,你會有這樣的路線:

// Services route 
routes.MapRoute("Services", "services", new { controller = "Some Controller", action = "Some action" }); 
+0

我刪除了默認的一個,添加了一個,如果我去了,例如到mysite.com/test我得到'HTTP錯誤404.0 - 未找到'而不是'測試'。我的索引方法就像從Q. – frc

+0

做家路線工作? – Forlani

+0

你是什麼意思,mysite.com/Home或mysite/Home/Index?這是行不通的。無論我追加到主要的網址不起作用。 – frc