0

MVC application以下のテンプレートを使用してサンプルを作成しました。

ASP.NETMVC2空のWebアプリケーション

次に、Controllerの名前でを追加し、をFirst右クリックしてActionResultを追加しViewます。

http://localhost:49565/Firstブラウザに入力しました。

クエリ

コントローラーは、入力時に特定のページが表示されることを内部でどのように認識していますhttp://localhost:49565/Firstか?

さらに、に複数のビューを追加した場合Controller。システムは、どちらを優先度に表示するかをどのように決定しますか?

4

2 に答える 2

1

コントローラーはMVCフレームワークによって呼び出されます。MVCフレームワークは、Global.asax.csで定義されたルートを使用して、呼び出すコントローラーとアクションを決定します。次のようなデフォルトルートがあります。

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);

アプリケーションがリクエストを受信すると、URLをルートの形式に解析しようとします。にリクエストが行われると、。という名前のコントローラーのアクションにhttp://localhost:49565/適用されるデフォルト値が使用されます。新しいコントローラー、、および呼び出しを作成すると、提供されたのでの代わりにを使用します(ただし、アクションに対しては引き続き使用されます)。IndexHomeControllerFirstControllerhttp://localhost:49565/FirstFirstControllerHomeControllerIndex

さらに、アクションが呼び出されていて、明示的に定義されたビューがない場合、呼び出されたアクションと同じ名前のビューが検索されます。あなたの場合はそうなるでしょう~/Views/First/Index.aspx

編集

別のビューを使用する場合は、returnステートメントで指定できます

return View("OtherView");

代わりに使用~/Views/First/OtherView.aspxします。

于 2012-05-06T10:30:15.077 に答える
0

このブログ投稿を見て、それがどのように行われるかについてのアイデアをあなたに与えてください

于 2012-05-06T10:28:19.610 に答える