原文發表在:http://www.birchlee.com/post/2011/10/12/15.aspx
項目分為三個首頁
如: /Home/Index 前台首頁
/Admin/Home/Index 後台首頁
/OA/Home/Index 辦公平台首頁
建立一個asp.net MVC3 樣本項目: 右鍵 →添加→Area
直接運行項目:
原因是存在同名的多個Controller,需要配置預設的命名空間。解決方案:
開啟Global.asax.cs
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional },// Parameter defaults
new[] { "Web.Controllers" }// Namespaces 引入預設的命名空間
);
}
http://localhost:49849/ 運行後輸出 Home/Index
http://localhost:49849/Admin/Home/Index 運行後輸出 Admin/Home/Index
http://localhost:49849/OA/Home/Index 運行後輸出 OA/Home/Index
更改路徑:
http://localhost:49849/Admin/後報404錯誤
原因是 Area下面的Admin沒有配置預設的 Controller造成的,解決方案:
開啟 Area下Admin下 AdminAreaRegistration.cs
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
加上預設的Controller即可。
在此拋磚引玉了。