0

jquery post メソッドで複雑なリストを投稿する必要がある状況にいます。これが私がしていることです

function UpdateOrder() {
    var results = new Array();
    $("#divMainContainer").find(".teamTr").each(function() {
        var o = { 'projectid': $(this).attr("projectid"),
                  'designTeamID': $(this).attr("designTeamID"), 
                  'designTeamOrder': $(this).attr("designTeamOrder") 
                };
        results.push(o);
    });

    var url = "/DesignManagerQueue/UpdateOrder";
    $.post(url, { queryArr: results}, function(data) {
    });

そしてMVCアクションは

public JsonResult UpdateOrder(List<SS> queryArr)
{
    //Do something
    return Json(new { Status = true, Message = "" });
}

そしてクラスは

public class SS
{
    public string Projectid{ get; set; }
    public int DesignTeamID{ get; set; }
    public int DesignTeamOrder { get; set; }
}

しかし、実際には

List<SS> queryArr 

空です

何か案は?

4

2 に答える 2

0

ASP.NET MVC フレームワークでのモデル バインドは単純です。アクション メソッドにはデータが必要であり、受信 HTTP 要求は必要なデータを運びます。問題は、データが POST されたフォームの値と、場合によっては URL 自体に埋め込まれていることです。 MVC でのモデル バインディング

モデル バインディングでは、プロパティがモデル クラスと一致する必要があります。

 var o = { 'ProjectId': $(this).attr("projectid"),
                  'DesignTeamID': $(this).attr("designTeamID"), 
                  'DesignTeamOrder': $(this).attr("designTeamOrder") 
                };
于 2013-03-08T10:16:32.947 に答える
0

js オブジェクトのプロパティは、モデル クラスのプロパティと一致する必要があります

public class SS
{
    public string Projectid{ get; set; }
    public int DesignTeamID{ get; set; }
    public int DesignTeamOrder { get; set; }
}

お気に入り

  var o = { 'ProjectId': $(this).attr("projectid"),
                  'DesignTeamID': $(this).attr("designTeamID"), 
                  'DesignTeamOrder': $(this).attr("designTeamOrder") 
                };
于 2013-03-08T10:15:17.763 に答える