ASP.NET MVC 4プロジェクトを作成せずにデフォルトコントローラーを設定するにはどうすればよいですか?HomeController?
アプリケーションの起動時にデフォルトのAreaを設定するにはどうすればよいですか?
最善の方法は、ルートを変更することです。デフォルトルート(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 }
);
RouteConfig.cs in App_Startフォルダーに以下のコードを設定します
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オプションを選択してから、特定のページ(コントローラー/ビュー)を選択し、ログインページを設定します
ここでは、アカウントが私のコントローラーであり、ログインが私のアクションメソッドです(アカウントコントローラーに保存されています)
添付してご覧ください スクリーンショット。
この質問には答えられませんでした:
アプリケーションの起動時にデフォルトのAreaを設定するにはどうすればよいですか?
そのため、デフォルトエリアを設定する方法を次に示します。
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 }
);