我試圖與下面的代碼,但顯示控制器側空子傳遞從視野中MVC控制器的對象列表..如何透過JSON.stringify
觀點:
<script>
function getme(){
debugger;
var emp = [
{ empid: 1, name: 'sasi' },
{ empid: 2, name: 'sathish'}
];
emp = JSON.stringify({ 'emp': emp });
$.ajax({
contentType: 'application/json; charset=utf-8',
dataType: 'json',
type: 'POST',
url: '/Home/getemplist',
data: JSON.stringify(emp)
});
}
</script>
<input type="button" onclick="getme();" value="Click me" />
控制器:
public void getemplist(List<Emp> emp)
{ }
Emp.cs:
public class Emp
{
public int empid { get; set; }
public string name{get;set;}
}
事實上,你永遠不需要JSON.stringify。 jQuery將負責處理對象本身。另外,JSON.stringify與某些版本的IE不兼容。 jQuery確保一切都保持兼容(如果你使用1.x版本)。 – gretro
沒有JSON.stringify,它似乎沒有工作。是的,它與某些版本的IE不兼容,所以在這種情況下,我們可以使用polyfill。 – Akhlesh
感謝您的回覆傢伙..最後它是爲我工作。在控制器操作中,我剛剛將參數類型更改爲字符串例如:public void getemplist(string emp)。然後使用JavaScript序列化程序類,我能夠將字符串數據轉換爲列表對象..在腳本中,我剛剛改變了方式我把這個控制器動作稱爲$ .post(「/ Home/getemplist /」,{'emp':emp})。我會在稍後發佈我的整個代碼.. :) :) – sasi