2

私は WebAPI なしで MVC4 を使用していますが、MVC ではプレーンです。適切に登録された管理領域 (通常は「管理者」と呼ばれます) があります。

public class AdminAreaRegistration : AreaRegistration
{
    public override string AreaName { get { return "Admin"; } }

    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute("EditGroupRoute", "admin/groups/{action}/{id}", new { controller = "EditGroup", action = "Index", id = UrlParameter.Optional });
        //...
        //No default handler at the end, all routes are predetermined
    }

Global.asax:

public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        //...                            
    }
}

私の通常の非エリアRouteConfig.RegisterRoutesは正常に機能し、最後にデフォルトのキャッチオールハンドラーのない通常のルートが含まれています。

管理エリアのルートを試すたびに、404 エラーが発生します。Haack の RouteDebugger を使用していますが、404 エラー テキストの下に完全な一致 (および 1 つの一致のみ) が表示され、正しい領域、コントローラー、およびアクションが示されます。

SOで同様の質問を確認しましたが、喜びはありません。何が間違っている可能性がありますか?

4

1 に答える 1

1

エリア コントローラが間違った名前空間にありました。元々/Controllers、名前空間を更新しなかったエリア コントローラーに移動したときに含まれていました。

于 2013-02-13T09:43:28.993 に答える