Html.BeginForm()は必要ですか?
-
10-07-2019 - |
質問
Html.BeginForm()
は何を行い、必要ですか?
解決
本質的に、それは
を出力します<form>
タグをHTML出力に挿入します。ページがPOST(つまり、フォームを送信するためにボタンが押される)する場合、フォームタグは必須です。これにより、ブラウザはフォームの送信先を認識します。 それがあなたのために今働いているかもしれない理由は、あなたがボタンを持たないかもしれないからです-jsutリンク(私はあなたのアプリケーションが何であるか分かりません、それでここで推測します)。
要するに、アクションにフォームを送信できるようにしたい場合、はい、そのタグは必須です。リンクを介してすべてを行う場合、フォームタグは必要しないため、BeginFormは実際には必要ありません。
HTH。
PS ASP.NET MVCに関するScott Guthrieのブログ記事を読んでください。彼らは 本当に あなたを始めるのに大いに役立ちます。
他のヒント
BeginForm()は、提供されたパラメーターを使用してフォームタグを単に書き出します。あなたが持っていないフォームを持っていない場合、またはAJAXとのすべてのページのやり取りをしている場合、あなたはそれを必要としないかもしれません。ページにリンクしかない場合、フォームは不要です。ただし、AJAXを使用しない限り、フォームアクションを使用してフォームタグを挿入するか、手動でフォームタグを挿入しない限り、コントローラーアクションへのPOSTリクエストを行うことはできません。
まったく必要ありません。フォームタグの設定を処理する単なるヘルパーです。ただし、使用することをお勧めします。私の直感では、AntiForgeryTokenヘルパーと関連属性を使用して現在対処しなければならないXSS攻撃などを処理するために、このヘルパーを強化すると言います。