0

BeginForm を持たないビューがあり、ドロップダウン リストとフィールドから値を収集し、コントローラーに送信してクエリを実行したいと考えています。ある種のボタンを使用して、パラメーターをコントローラーに送信したいと思います。

質問: を使用できるように、ビューのフィールドを BeginForm でラップする必要がありますか?

BeginForm を必要としない FormCollection などを使用できますか?

ビューのフィールドから値を取得し、それらをパラメーターとしてコントローラーに渡すにはどうすればよいですか?

助けてくれてありがとう。

4

2 に答える 2

1

そのような場合は、常にHTMLフォームを使用することをお勧めします。Html.BeginForm以前のものをお勧めしますが、自分次第のフォーム要素を使用して作成する場合、または直接配置する場合。

Can I use FormCollection or something similar that does not require a BeginForm?

FormCollectionアクションパラメータで使用するために、ビューにフォームを使用したり、フォームを表示したりする必要はありませんBeginForm。jqueryを使用すると、IDまたは名前に基づいてフィールドを簡単に収集でき$.post、POSTリクエストを作成するために使用できますが、アクションでフォームコレクションを使用することもできます。FormCollection可能であれば使用する代わりに、ビューモデルを作成して使用する必要があります。

ビューのフィールドから値を取得し、パラメーターとしてコントローラーに渡すにはどうすればよいですか?

フォームを使用していない場合は、例として「id」を使用して各フィールド値を収集しています。$( "#ddlCity")、jsonオブジェクトを形成し、jqueryの$.postメソッドを使用できます。

于 2012-06-18T11:10:25.637 に答える
1

それらをフォームにラップするだけです。フォーム要素はフォームに属します。

それか、すべての要素で JavaScript を使用し、コントローラーに対して Ajax 要求を実行します。おそらく、プロセスを管理するためにノックアウトを検討しています。

于 2012-06-18T07:45:42.323 に答える