こんにちは一般的なもの:
はあなたの登録したエリアのマッピングとエリアマッピングをお持ちですか? 両方の場所でコントローラの名前が同じですか? Global.asaxの中
領域マッピングの例
線参照:AreaRegistration.RegisterAllAreasを(); //これは、あなたが
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
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas(); // This is part you neeed to do
RegisterRoutes(RouteTable.Routes);
ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory());
}
}
を行うためにneeed一部であり、すべての領域がマッピングまたはマッピングファイルがどこかに設定している必要があります。ここ 例
名前空間プロジェクト管理エリア /// パブリッククラスAdministratorAreaRegistrationの { /// /// 登録:AreaRegistration { /// /// に地域の名前を取得します。登録される。 /// ///登録する領域の名前。 パブリックオーバーライド文字列領域名 { get { return "Administrator"; }}
/// <summary>
/// Registers an area in an ASP.NET MVC application using the specified area's context information.
/// </summary>
/// <param name="context">Encapsulates the information that is required in order to register the area.</param>
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Administrator_default",
"Administrator/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional });
}
}
}
あなたはこのルーティングチェックに問題がある場合。
私は、このガイドを使用することをお勧めし、すべてのルーティングのためのテストを作成します。私たちは通常、地域をどうのよう http://haacked.com/archive/2007/12/17/testing-routes-in-asp.net-mvc.aspx
MapRoute機能を投稿できますか? – ericb
MapRouteの呼び出しを追加しました – ReFocus
オーバーライドされたAreaNameがグローバルアプリケーションのAreaフォルダのパスと同じであることを確認してください。 – kaps