ASP.NETでのHTMLとFormのサポート方法

1714 ワード

Formアシストメソッド
Formの最も重要な属性はactionとmethodであり、actionはformのデータがどこにコミットされるかを示し、methodはどのような方法でデフォルトがGETであるかを示し、以下は簡単な例である.
    <form action="/Home/Search" method="get">
        <input name="q" type="text"/>
    </form>

ASPを使用する場合Net MVC、Home/SearchはHomeControllerのSearchメソッドを表すことが多いが、MVCに合わせて使用する場合、直接的にもこのようなHTMLコードには以下のような問題がある.サイト全体がRouteのルールを変更する場合は、/Search/Homeに変更される.つまりControllerが後になると、このHTMLコードが必要になる.あまり頻繁ではありませんが、Htmlを使うと可能性もあります.BeginFormの補助方法は、この問題を心配する必要はありません.
public static MvcForm BeginForm(this HtmlHelper htmlHelper, string actionName, string controllerName, RouteValueDictionary routeValues, FormMethod method, IDictionary<string, object> htmlAttributes);

BeginFormにはデフォルト値を使ったリロード方法がたくさんあるので、一つ一つ紹介しませんが、上記が最も完全な方法で、それぞれのパラメータの意味を紹介しましょう.
 
BeginFormには、次の2つの方法があります.
    @using (Html.BeginForm("Search", "Home", FormMethod.Get))
    {
        <input name="q" type="text" />
    }

その2:
    @{Html.BeginForm("Search", "Home", FormMethod.Get);}
    {
    <input name="q" type="text" />
    }
    @{Html.EndForm();}

どれを使うかは個人の好み次第だ.
HTMLアシストメソッド
HTMLのサポート方法はいろいろありますが、以下にご紹介します.
 @Html.AntiForgeryToken()
これはCSRF(Cross-Site Request Forgery)を防止するためのものであり、この編の文章でこの補助方法を詳しく紹介した.