0

これは私のモデルです

モデル

public class XPersonContent
{
    public string PersonType { get; set; }
    public int PersonId { get; set; }

}

public class XViewModel
{
    public List<XPersonContent> XPersonList { get; set; }
    public string XContent { get; set; }
    public sbyte CommentEnabled { get; set; }

}

コントローラ

[HttpPost]
public JsonResult AddXViewModel ( XViewModel testModel)
{

}

コントローラーに送信する MVC を使用したフォーム

function submitForm() {

    var xpersonContent=[Object { Id=2934109,  Type="us"}, Object { Id=2913974,  Type="us"}, Object {Id=2912159,  Type="us"}]
    var xContent= "test";
    var CommentEnabled= false;

    var dataString = {
        XPersonList:xpersonContent,
        XContent: xContent,
        CommentEnabled: true
    };

    $.ajax({
        type: "POST",
        url: "/AjaxPostDemo/AddXViewModel",
        data: JSON.stringify(dataString ),
        cache: false,
        dataType: "json",
        success: function (data) {
            $("#ajaxPostMessage").empty();
            $("#ajaxPostMessage").html(data.Message + " : " + data.Date);
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
        }
    });
}

> Question

オブジェクト XViewModel を作成してコントローラーに戻す方法を教えてください。私はそれらを3つの異なる変数に入れています。これをやろうとしました dataString = { XPersonList:xpersonContent, XContent: xContent, CommentEnabled: true }; しかし、それは機能していません..

4

2 に答える 2

0

ajax リクエスト SMH に contentType: "application/json; charset=utf-8" を追加する必要がありました

于 2013-03-31T01:59:06.473 に答える
0

これに変更してみてください

var xpersonContent=[{"XPersonContent": {"Id": 2934109, "Type": "us"}}, {"XPersonContent": {"Id": 2913974, "Type": "us"}}, {"XPersonContent": {"Id": 2912159, "Type": "us"}}]
于 2013-03-31T01:59:54.563 に答える