2013-10-14 243 views
2

我有以下WORKING代碼:C#保存對象列表Vs的保存對象(從JSON)

類(聲明的對象)

public class saveRow 
{ 
    public int proId { get; set; } 
    public string proName{get;set;} 
} 

控制器:

[HttpPost] 
public virtual JsonResult SaveRow(saveRow input) 
{ /* CODE HERE */} 

JavaScript對象(去過發送)

var test = {"proId" : 1, "proName" : "Test"} 

JavaScript的Ajax調用

$.ajax({ 
     type: "POST", 
     url: "URL", 
     dataType: "json", 
     data: test, 
     traditional: true, 
     success: function (data, status, request) { 
      if (data.Error != undefined) { 
       alert("System Error: " + data.Error); 
       $(row).find('*').attr('disabled', false); 
       return; 
      } 

     }, 
     error: function (request, status, error) { 
      console.log("ERROR"); 
     } 
    }); 

現在,當我想在一個時間,所以我做了以下送我行的列表,而不是一個出現問題:

爲了測試我採取了相同的對象和done

var test2 = []; test2.push(test); test2.push(test); 

和對象現在看起來像:

[{"proId" : 1, "proName" : "Test"},{"proId" : 1, "proName" : "Test"}] 

我的控制器現在看起來像:

[HttpPost] 
    public virtual JsonResult SaveRow(List<saveRow> input) 
    { /* CODE HERE */} 

發送對象爲JSON的名單時,varible輸入總是空也tryed IEnumberable

但每次我通過控制器參數發送此列表「輸入」始終爲空。

這是爲什麼?

SOLVED-

public virtual JsonResult SaveRow(saveRow[] input) 

而添加的內容類型!用JSON.stringify!

回答

1

試試這個方法:

  • 設置的包裝名稱列表相同你的論點名「輸入」
  • 集內容類型
  • 刪除傳統,並使用JSON.stringify到的字符串化你的數據。

JS:

var data = { "input": test2 }; 

$.ajax({ 
     type: "POST", 
     url: "URL", 
     dataType: "json", 
     contentType:"application/json; charset=utf-8", //<--Set content Type 
     data: JSON.stringify(data), //Set data 
     success: function (data, status, request) { 
      if (data.Error != undefined) { 
       alert("System Error: " + data.Error); 
       $(row).find('*').attr('disabled', false); 
       return; 
      } 

     }, 
     error: function (request, status, error) { 
      console.log("ERROR"); 
     } 
    }); 
+0

唉唉,我看到你在得到什麼在這裏,當前加入它和項目是builidng將更新的結果。 – LmC

+0

@LmC是的,讓我知道它是怎麼回事。如果它不工作,只需粘貼你在網絡控制檯中看到的請求部分。 – PSL

+0

嗨仍然是同一個問題,我的對象看起來像{「輸入」:[{},{}]}請注意{}只是上面顯示的結構,以保持評論整潔的簡短 – LmC