2
私はASP.NET MVCのウェブサイトと「管理者」と呼ばれるエリアプロジェクトを持っています。別の領域にある場合でもコントローラ名は固有でなければなりませんか?
これまでのルーティングが、私が各プロジェクトに同じ名前の2つのコントローラを持つことができないようだということを除いて、正常に動作します。
私は、次のURLが正常に動作します両方考えた:
しかし、それはどちらかアクセスしたときに、私は次のエラーを取得することが判明:
コントローラー名 'Home'
MyProject.Website.Controllers.HomeController
MyProject.Admin.Controllers:次のタイプの間であいまいです。ホームコントローラー
これは正常ですか、設定に問題がありますか?
ところで、ここに私のルーティングコードだ:
メインプロジェクト:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
Admin.Routes.RegisterRoutes(routes);
routes.MapAreaRoute(
"Main",
"default_route",
"{controller}/{action}/{URLName}",
new { controller = "Home", action = "Index", URLName = "" },
new string[] { "MyProject.Website" }
);
}
エリアプロジェクト:
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapAreaRoute(
"Admin",
"Admin_Default",
"Admin/{controller}/{action}",
new { controller = "Home", action = "Index" },
new string[] { "MyProject.Admin" }
);
}
は本当に便利だったこと、ありがとうございます。名前空間が追加された後もうまく機能します。 – jesperlind