2010-05-17 153 views
0

我需要使用POST將視圖中的網格行傳遞給控制器​​。我們的想法是通過對象具有以下結構(人)的一個IList:ASP.NET MVC Ajax:將IList從視圖傳遞到控制器

  • 字符串名稱
  • 字符串地址
  • 字符串ID

我想讀從數據JQGrid並將其傳遞給控制器​​以填充IList。

我想構建數據對象來通過Ajax數據參數。

下面是Javascript代碼:

$("#saveButton").click(
function() 
{ 
    var returnData = '{'; 
    var existingIDs = $('#listPeople').getDataIDs(); 

    if (idsPeople.length > 0) 
    { 
    for (i=0;i<idsPeople.length;i++) 
    { 

//Trying to build the obejct data 

ret = ret + '"people['+ i +'].Name":' $('#listPeople').getRowData(idsPeople[i]).Name + ','; 

ret = ret + '"people['+ i +'].Address":' $('#listPeople').getRowData(idsPeople[i]).Address+ ','; 

ret = ret + '"people['+ i +'].Id":' $('#listPeople').getRowData(idsPeople[i]).Id+ ','; 

//If it has more than one element 
     if (idsPeople.length>1 && (i+1)<idsPeople.length) 
     { 
     ret = ret + ','; 
     } 
    } 
    } 

ret = ret + '}'; 

我的Ajax功能發送:

var url_all = '<%=Url.Action("SaveData") %>; 

$.ajax({ 
type: "POST", 
url: url_all, 
data: ret, 
dataType: "json", 
success: function(){ 
    alert("OK"); 
}, 
error: function(){ 
    alert("Error: check SaveData"); 
} 
}); 

我的控制器:

public ActionResult SaveData(IList<PeopleHeader> people){ 

    // using debug to know if "people" variable has any values 

    return Json(true); 
} 

我得到的問題是一個錯誤: 「System.NotSupportedException:固定大小的集合」,並且沒有數據正在傳遞。

我認爲我的問題依賴於創建對象...有沒有更簡單的方法來做這個過程?

由於提前,

回答

相關問題