2

何がHtml.BeginForm()必要ですか?

4

3 に答える 3

5

基本的に、それは

<form>

タグを HTML 出力に追加します。ページが POST する場合 (つまり、ボタンを押してフォームを送信する場合)、フォームを送信する場所をブラウザが認識できるようにするために、form タグが必要です。現在機能している可能性がある理由は、ボタンがない可能性があるためです-jsutリンク(アプリケーションが何であるかがわからないため、ここで推測するだけです)。

要するに、フォームをアクションに送信できるようにしたい場合は、はい、そのタグが必要です。リンクを介してすべて行う場合、フォーム タグは必要ないため、BeginForm は実際には必要ありません。

HTH。

PS は ASP.NET MVC に関する Scott Guthrie のブログ記事を読みました。

于 2009-09-17T23:25:47.503 に答える
3

BeginForm() は、渡されたパラメータを使用してフォーム タグを単純に書き出します。フォームがない場合は必要ないか、ページのすべての操作を AJAX で行っている場合は、必要ないかもしれません。ページにリンクしかない場合は、フォームは不要です。ただし、AJAX を使用しない限り、それを使用してフォーム タグを挿入したり、フォーム タグを手動で挿入したりしない限り、コントローラー アクションに対して POST 要求を実行することはできません。

于 2009-09-17T23:24:41.250 に答える
0

まったく必要ありません。これは、フォーム タグの設定を処理する単純なヘルパーです。それを使うのは良い考えです。私の直感では、現在 AntiForgeryToken ヘルパーと関連する属性を使用して対処しなければならない XSS 攻撃などを処理するために、このヘルパーを強化する予定です。

于 2009-09-17T23:23:06.873 に答える