私のモデルのほとんどはを使用して$('form').serializeArray()
入力されますが、ページグリッドを形成するオブジェクトの配列はそのマネージャーから入力する必要があります。例えば:
public JsonResult SubmitForm(MyViewModel input)
{
..。
public class MyViewModel
{
[Display(Name = "Name")]
public string GridName { get; set; }
[Display(Name = "Description")]
public string GridDescription { get; set; }
public GridRow[] GridRows { get; set; }
名前と説明はによって取得されserializeArray()
ますが、問題はありません。GridRow
がの場合、string[]
jqueryが作成したシリアル化された配列に複数のインスタンスをプッシュするだけで受け入れられます。
var data = $('form').serializeArray();
for (var i in gridData) {
data.push({ name: 'GridRows', value: gridData[i].id });
}
$.ajax({
type: "POST",
url: '/Central/Results/SubmitForm',
dataType: "json",
data: data,
このようにして、少なくともIDの配列を取得できます。gridData[i]
ただし、適切なデータ型を設定する場合は、オブジェクト全体をオブジェクトにプッシュすることはできません( )。コントローラに到達すると、常にnull値を取得します。
MVCがモデルに正しくデータを入力するために、データをどのように処理する必要があるかについて何か考えはありますか?ありがとう。