HomeControllerにせずにASP.NET MVC 4 プロジェクトの既定のコントローラーを設定するにはどうすればよいですか?
アプリケーションの起動時にデフォルトのエリアを設定するにはどうすればよいですか?
HomeControllerにせずにASP.NET MVC 4 プロジェクトの既定のコントローラーを設定するにはどうすればよいですか?
アプリケーションの起動時にデフォルトのエリアを設定するにはどうすればよいですか?
最善の方法は、ルートを変更することです。デフォルトルート(App_Startで定義)は/Home/Index
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters*
new { controller = "Home", action = "Index",
id = UrlParameter.Optional }
);
デフォルトのランディングページとして。あなたはそれをあなたが望むどんなルートにも変えることができます。
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters*
new { controller = "Sales", action = "ProjectionReport",
id = UrlParameter.Optional }
);
App_StartフォルダーのRouteConfig.csに以下のコードを設定します。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional });
}
それでも機能しない場合は、以下の手順を実行します
2番目の方法: 以下の手順に従ってください。
1) プロジェクトを右クリック
2) プロパティを選択
3) Web オプションを選択し、特定のページ (コントローラー/ビュー) を選択して、ログイン ページを設定します。
ここで、Account はコントローラーで、Login はアクション メソッドです (Account Controller に保存されます)。
添付のスクリーンショットをご覧ください。
この質問への回答が表示されませんでした:
アプリケーションの起動時にデフォルトのエリアを設定するにはどうすればよいですか?
したがって、デフォルトのエリアを設定する方法は次のとおりです。
var route = routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
).DataTokens = new RouteValueDictionary(new { area = "MyArea" });
コントローラーが 1 つしかなく、ルート上のすべてのアクションにアクセスしたい場合は、次のようにコントローラー名をスキップできます
routes.MapRoute(
"Default",
"{action}/{id}",
new { controller = "Home", action = "Index",
id = UrlParameter.Optional }
);