1

このような.NETMVCコントローラーにJSON形式でデータを投稿しようとしています。

$.ajax({
         type: 'POST',
         url: 'http://mvc.tester.local/Home/NameConverter',
         data: JSON.stringify({ convertermodel.InputName: obj.currentTarget.value }),
         contentType: 'application/json'
});

JSON.Stringify()しかし、Javascriptはそのビットについて不平を言っています。正確には
convertermodel.InputName

実際には、このJSONデータ名をそのようにする必要があります。つまり、モデルのプロパティと同じ名前にする必要があります。自動バインドのリフレクションを利用するため。

これは私のモデルです:

public class NamesViewModel
{
    public NameConverterModel convertermodel = new NameConverterModel();        
}

とサブクラス

public class NameConverterModel
{
    private string _inputName = "";
    public string InputName
    {
        get { return _inputName; }
        set { _inputName = value; }
    }    
}

どうすればこれを解決できますか?

私は十分に明確であることを望みます。

4

1 に答える 1

1

JSONは次のような構造である必要があります。

{"convertermodel" : {
                      "InputName" : obj.currentTarget.value
                    }
}

オブジェクトのJSON表現は、クライアント側でモデル化しようとしているオブジェクトモデルが必要とする適切なネストを反映する必要があります。したがって、階層を1つのレベルでネストしてJSONを定義することはできません。つまり、C#コードで行ったようにオブジェクトのオブジェクトを作成する必要があります。

于 2012-08-19T00:40:51.950 に答える