我得到控制器中的空值。不知道我錯過了什麼。如何將這個js數組傳遞給我的MVC 3控制器?
我有一個網格,我有一個訪客列表(名稱爲&電子郵件),其中用戶通過複選框選擇訪客。
然後我讀取所選聯繫人的名稱和電子郵件並構建js數組。 然後這個數組傳遞給MVC 3 controller
。
JS代碼:
var name ='', email='';
var guest = new Array();
var guests = new Array();
$('.CBC').each(function() { //loop grid by checkbox class
if (this.checked) {
name = GetSelectedName();
email = GetSelectedEmail();
guest = { 'Email': email, 'Name': name };
guests.push(guest);
}
});
$.ajax({
type: "POST",
url: GetURL(),
data: guests,
dataType: "json",
success: function (res) {
//do something
}
});
控制器:
[HttpPost]
public ActionResult AddGuests(List<SelectedGuest> guests)
{
GuestService svc = new GuestService();
//do something with guests
//But Name and Email of all items in guests are null!!!
}
public class SelectedGuest
{
//represent the email columns of the contact grid
public string Email { get; set; }
//represent the Name column of the contact grid
public string Name { get; set; }
}
我需要JS數組顯式轉換爲JSON對象序列化呢?
你怎麼在'串id'指定? – 2011-06-13 05:48:20
Id是一個字符串。它得到正確傳遞。爲了清晰起見,我刪除了Id參數。 – kheya 2011-06-13 06:08:32