1

サイトのルートへのリクエストに対して asp.net mvc を目的のコントローラーに送信する方法がわかりません。

RegisterRoutes で次のようなさまざまなエントリを試しました。

routes.MapRoute(
     "MyHome",
      "",
      new { controller = "MyController", action = "Index", id = UrlParameter.Optional }
 );

私が得るエラーは次のとおりです。

ビュー「インデックス」またはそのマスターが見つからないか、検索された場所をサポートするビュー エンジンがありません。次の場所が検索されました: ~/Views/Home/Index.aspx ~/Views/Home/Index.ascx ~/Views/Shared/Index.aspx ~/Views/Shared/Index.ascx ~/Views/Home/Index. cshtml ~/Views/Home/Index.vbhtml ~/Views/Shared/Index.cshtml ~/Views/Shared/Index.vbhtml

Web サイトのルート要求を目的のコントローラーに送信するにはどうすればよいですか?

更新: まだ問題を修正できなかったため、すぐに使用できる新しい MVC プロジェクトを作成しました。元のプロジェクトの名前を数回変更したため、おそらくどこかで問題が発生しました。

4

2 に答える 2

0

起動MyControllerするには、URL は (現在のルーティングに基づく) のようになりますhttp://localhost/MyController

あなたのエラーを見ると、空の MVC プロジェクト テンプレートから始めたような気がします。そうですか?

于 2011-03-25T04:23:38.340 に答える
0

エラーメッセージに基づいて...

  1. これは、HomeController というコントローラーに送信されます。それで、HomeController に転送する別のルート (おそらくデフォルト?) があると思いますか?

  2. エラーメッセージは、コントローラーではなくビューに関するものです。それはルーティングとは別の問題です。

あなたが求めていることを達成する最も簡単な方法は、MVC3 プロジェクトを作成したときに作成されたデフォルト ルートを編集することです。

routes.MapRoute(
"Default", // ルート名
"{controller}/{action}/{id}", // パラメーターを持つ URL
new { controller = " MyController ", action = "Index", id = UrlParameter.Optional } // パラメータのデフォルト
);

于 2011-03-25T04:24:17.293 に答える