ルーティング エンジン経由。アプリケーションには、次のようなルートがあります
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
基本的に、この場合のフォームで使用されるアクションは /Account/LogOn です。メイン ルートを見ると、これは controller = "Account" および Action = "Logon" に変換されます。
これはメカニズムの鳥瞰図です。ASPNET MVCサイトには、MVCの基本を説明する一連の優れたチュートリアルがあります。
編集
HTML では、送信ボタンを使用してフォーム データをサーバーに送信します。データは、フォームの action 属性で指定されたページに送信されます。action 属性で定義されたファイルは、通常、受け取った入力に対して何かを行います。
htmlコード
<input type="submit" value="Log On" />
cshtmlページのフォームタグにラップされます
@using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl })) {
//html here
}
ブラウザでレンダリングすると、フォームタグは次のようになります
<form action="/Account/Logon" class="form-horizontal well" method="post" novalidate="novalidate">
<input id="ReturnUrl" name="ReturnUrl" type="hidden" value="/">
<!-- other HTML elements here -->
<input type="submit" value="Log On" />
</form>
したがって、送信ボタンがクリックされると、フォームは form タグの action 属性の URL に投稿 (HTTP Verb POST) されます。この場合、/Account/Logon.
詳細については、W3C Form Recommendationを参照してください。
WebForms から MVC への最大のステップは、WebForms が基礎となる HTML 仕様の多くを開発者から切り離して抽象化することです。