107

HomeControllerにせずにASP.NET MVC 4 プロジェクトの既定のコントローラーを設定するにはどうすればよいですか?

アプリケーションの起動時にデフォルトのエリアを設定するにはどうすればよいですか?

4

4 に答える 4

168

最善の方法は、ルートを変更することです。デフォルトルート(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 }
);
于 2013-01-20T16:30:23.673 に答える
31

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 に保存されます)。

添付のスクリーンショットをご覧くださいここに画像の説明を入力

于 2014-08-04T04:29:27.817 に答える
26

この質問への回答が表示されませんでした:

アプリケーションの起動時にデフォルトのエリアを設定するにはどうすればよいですか?

したがって、デフォルトのエリアを設定する方法は次のとおりです。

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" });
于 2013-12-31T14:55:08.577 に答える
2

コントローラーが 1 つしかなく、ルート上のすべてのアクションにアクセスしたい場合は、次のようにコントローラー名をスキップできます

routes.MapRoute(
        "Default", 
        "{action}/{id}", 
        new { controller = "Home", action = "Index", 
        id = UrlParameter.Optional }
);
于 2017-06-01T09:29:59.267 に答える