私は新しいasp.net mvc 3プロジェクトを持っています。私はどんな方法でも経路を変更しなかった。私はPageController
というコントローラを持っていて、別のコントローラはContentController
というコントローラを持っています。なぜASP.NET MVC 3では、 "ContentController"というコントローラのデフォルトルートが機能していないのですか?
domain.com/Pageを参照すると、PageコントローラのIndexアクションが期待通りに実行され、インデックスビューが表示されます。
domain.com/Contentを参照すると404エラーが表示されます。私がdomain.com/Content/Indexを参照すると、正常に動作します。
この単一ルートのトラブルシューティングを行うにはどうすればよいですか?
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
);
}
私は、追加のルートを追加してみました:
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
);
routes.MapRoute(
"Content", // Route name
"Content/{action}/{id}", // URL with parameters
new { controller = "Content", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
をしかし、追加のルートは、アプリケーションの動作を変更しませんでした。
この原因は何ですか?
だけ明確にするためには、あなたは 'ContentController' –
@MatthewAbbottためのコードを追加することができます - それは、すべての足場によって生成されます。私はNathanの答えを実装することで問題を解決することができました。 – quakkels