15

このサイトがASP.NetMVCを使用して作成されていることを知っていますが、URLに「/Home」が表示されません。これは私にそれができることを証明します。どのような特別なルートが必要ですか?

4

6 に答える 6

16

「ホーム」を空の文字列に変更するだけです。

routes.MapRoute(
    "Home",
    "",
    new { action = Index, controller = Home }
);
于 2008-08-19T01:07:34.903 に答える
8

IIS 7 を実行している場合は、ASP.NET MVC に付属の Default.aspx ファイルを削除するだけです (Preview 3 以降を実行していると仮定します)。このファイルは、.NET 3.5 SP1 で修正された Cassini の問題のために必要でした。詳細については、以下をご覧ください。

http://haacked.com/archive/2008/04/10/upcoming-changes-in-routing.aspx および http://haacked.com/archive/2008/05/12/sp1-beta-and-its- effect-on-mvc.aspx

于 2008-08-20T22:55:03.123 に答える
6

私は実際、すべてのホームコントローラーメソッドをサイトのルートに配置するのが好きです。このように:/ about、/contactなど。私はうるさいと思います。私はそれを行うために単純なルート制約を使用します。 これが私のブログ投稿とコードサンプルです。

于 2011-01-15T11:35:59.560 に答える
1

追加します

routes.MapRoute("NoIndex", "{action}", new { controller = "Home", action = "Index" });

RouteConfig.cs で

于 2014-12-11T14:28:41.747 に答える
0

これは、ホームを取り除くために私がしたことです。指定子が 1 つだけのすべてのルートを Home/Action として扱い、2 つの指定子を Controller/Action として扱います。マイナス面は、コントローラーが明示的なインデックス (/Controller != /Controller/Index) を持たなければならないことですが、それはあなたや他の人に役立つかもしれません。

routes.MapRoute(
    "Default",
    "{action}",
    new { controller = "Home", action = "Index" }
);

routes.MapRoute(
    "Actions",
    "{controller}/{action}",
    new { }
);
于 2015-02-08T01:47:38.687 に答える
-2

IIS 7 では、ASP.NET MVC に付属する Default.aspx ファイルを削除するだけです (Preview 3 以降を実行していると仮定します)。このファイルは、.NET 3.5 SP1 で修正された Cassini の問題のために必要でした。

詳細については、以下をご覧ください。

ルーティング.NET 3.5 SP1 Beta の今後の変更と MVC への影響

于 2013-03-22T06:54:29.320 に答える