をコントローラへのビューからのデータを渡す私は、JSONデータを返すアクションメソッドを介してデータの一部のビットを取得し、表示しています。 選択したオプションの組み合わせに応じて、ユーザーはページの一部のフィールドを入力できます。 データをコントローラに戻して保存するには、どのような方法が最適ですか?は、アクション
- データを含むフィールドは、選択したオプションによって異なります。
- Viewにバインドされたすべてのフィールドを持つViewModelオブジェクトがありません。
@Ajax.BeginForm("MyAction", null, new AjaxOptions { }, new { @id = "SaveForm" }) { ..... @Html.RadioButton("SomeRadioButton", "bla", false, new { @id = "SomeRadioButton" }) ..... @Html.TextArea("SomeTextArea", new { @id = "SomeTextArea" }) ..... <a href="#" onclick="$('#SaveForm').submit();">Save</a> }
私はアクションでこれらの制御値のすべてを取得するにはどうすればよい:私はこれを持っている時点では
?
私のような何かを追加することができます
public void MyAction(FormCollection form)
{
.........
}
しかし、私は本当にこのオプションは好きではありません。 これを実装する最もクリーンな方法は何ですか?事前
でおかげ
私はモデルのバインダーなしでこれをやろうとしていましたが、ビューからすべてのデータを収集する方法がバインダーを通過する必要があります。ここでちょっと試す;) – Dante
@Dante、いいえ、必要ありません。必要ならばFormCollectionを使うことができます(おそらく望みません)。値を取得するためのコントローラアクションでは、 'form [" SomeTextArea "]'を使用します。もちろん、これは文字列として値を返します。基礎となるデータ型に解析し、手動で検証を実行するのはあなた次第です。既定のモデルバインダーによって既に処理されているものです。 –
したがって、検証とデータ型が重複して選択される主な理由です。ありがとうダーリン! – Dante