我的項目結構:Mvc區域路由?
Controller
AdminController
HomeController
區加入後,我的項目structureI增加了一個管理區域項目,
Areas
Admin
Controller
SomeController
Controller
AdminController
HomeController
然後各個環節都壞了。例如
@Html.ActionLink(
"go to some action",
"SomeAction",
"Admin",
new { area = "" },
null)
當我寫上面的鏈接,它的路線我www.myDomain.com/Admin/SomeAction
,但是這方面的行動,我想路由到AdminController行動。
我該怎麼做?我應該改變區域還是控制器名稱?
更新
上面的鏈接輸出:
domain/Admin/SomeAction
// I expect that is AdminController/SomeAction
// but not. There is SomeAction in my admin controller
// I get this error "The resource cannot be found."
// because it looks my expected, but it works unexpected
// it tries to call AdminArea/SomeController/SomeAction
更新2
例如:
@Html.ActionLink(
"go to some action",
"SomeAnotherAction",
"Admin",
new { area = "" },
null)
上面的鏈接我沒有得到任何電子郵件恐怖,因爲我在我的地區有一些其他行爲。
區registeration
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
謝謝...
您必須將其路由到具有SomeAction的控制器。現在你正在從AdminController調用SomeAction ActionResult。你想從AreaController調用SomeAction。或者我錯過了什麼? – William 2013-03-22 13:35:17
已編輯。我也很難解釋。總結,我想調用項目主控制器的操作,但它調用區域控制器的操作。鏈接看起來是正確的,但它的工作不正確。 – 2013-03-22 13:45:46