我想組織我的解決方案,我看了一些區域,但似乎是:'ControllerName'的請求已找到以下匹配控制器...錯誤越來越有名。MVC地區:我應該如何映射我的路線?
我增加了一個Admin
區和我的項目的文件夾結構看起來像這樣:
- 地區
- 聯繫
- 控制器
- 的HomeController
- 個AdminAreaRegistration.cs
- 聯繫
- 控制器
- 的HomeController
在我AdminAreaRegistration文件,我有這樣的:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
而我這樣做的時候註冊我的路線:
routes.MapRoute(
"Home",
"Home/Index",
new { controller = "Home", action = "Index" }
);
我讀過here做到這一點對我Application_Start
方法:
ControllerBuilder.Current.DefaultNamespaces.Add("X.Web.Controllers");
遺憾的是它並沒有解決這個錯誤。然後我閱讀here以在RegisterRoutes方法中添加默認(根)控制器的名稱空間。
我知道區域是關於路由,文件夾只是需要,但它們很有用。
我想知道如何在這種情況下將我的路線映射到特定的HomeController
,其中一個在X.Web.Controllers
,另一個在X.Web.Areas.Admin.Controllers
。另外,我想知道是否可以使用@Html.RouteLink
幫手而不是ActionLink
生成鏈接,因爲在全部我迄今閱讀的示例中使用ActionLink
方法生成的鏈接......這讓我懷疑。
我會感謝您提供的任何幫助/指導。謝謝。
克里斯:那就是,其實我的計劃灣重命名應該修復它。 – Esteban