2013-03-08 88 views
0

我需要在jquery post方法中發佈複雜列表。以下是我]丟在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 

是空

任何想法?

+0

您正在使用哪個MVC?和哪種語言? – 2013-03-08 10:13:55

+0

我在MVC1中,C# – 2013-03-08 10:15:57

回答

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") 
       }; 
0

模型ASP.NET MVC框架結合簡單。您的操作方法需要數據,並且傳入的HTTP請求攜帶您需要的數據。問題在於數據被嵌入到POST-ed表單值中,可能還有URL本身。 Model Binding in MVC

模型綁定期望您的屬性應該匹配模型類。

var o = { 'ProjectId': $(this).attr("projectid"), 
        'DesignTeamID': $(this).attr("designTeamID"), 
        'DesignTeamOrder': $(this).attr("designTeamOrder") 
       }; 
+0

在我的問題中,屬性不一樣,它們是否區分大小寫? – 2013-03-08 10:19:29

+0

我的代碼有什麼問題嗎? – 2013-03-08 10:47:08