Html.BeginFormを使用する利点は何ですか?
HTMLヘルパーとかみそりジェネレーターのビューテストに関連するいくつかの問題があり、古いskoolフォームタグに戻るのを妨げる利点を見つけるのに苦労しています。
誰かがどちらかに賛成または反対の議論を持っていますか?
古いskoolによって私は意味します:
<form action="@Url.Action('Blah')">
Html.BeginFormを使用する利点は何ですか?
HTMLヘルパーとかみそりジェネレーターのビューテストに関連するいくつかの問題があり、古いskoolフォームタグに戻るのを妨げる利点を見つけるのに苦労しています。
誰かがどちらかに賛成または反対の議論を持っていますか?
古いskoolによって私は意味します:
<form action="@Url.Action('Blah')">
Html.BeginForm
も実装IDisposable
します。つまり、フォームを適切に閉じる必要があります。おそらく些細なことですが、タグHtml.BeginForm
を閉じないと実行時エラーが発生しますが、閉じられていない<form>
タグでは発生しません。
いいえ違いはありません。フォームタグはルーティングを使用してURLを生成するだけなので、使用すれば問題ありませ@Url.Action
ん
そのようにプレーンな古いタグと URL ヘルパーを使用してルートを生成する本さえあります
ASP.NET MVC Website Programming
は一例です
** Mvc 4 以降では違いはありません。たとえば、Mvc 4 より前の Mvc 3 ではHtml.BeginForm
、javascript の目立たない検証を機能させる必要があります。
これHtml.BeginForm
は、Global.asax で定義されたルートを使用して URL を生成するので便利です。(または、独自のコードで拡張できます)
私の意見では、古いタグを使用することは最悪でも最善でもありません。URL を手動で生成するか、Url ヘルパーを使用するだけです。最終的に、ページ内の html は同じになります
<form ....>
html
</form>