我正在使用 JQuery 的 getJSON 方法从 MVC 控制器中检索一些数据。
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult GetContacts(int? numberOf)
{
List<Contact> contacts =
(numberOf != null && numberOf > 0) ?
_provider.GetContacts(Convert.ToInt32(numberOf)):
_provider.GetContacts();
return Json(contacts);
}
这个想法是我可以使用这个控制器方法来提供所有联系人,或者如果提供了“numberOf”,则可以提供给定数量的联系人。
问题是当我将 GET 请求发送到“Contacts/GetContacts/5”时,控制器中的“numberOf”始终为空。但是,如果我将 GET 请求发送到“Contacts/GetContacts/?numberOf=5”,它会按预期工作。
如果有帮助,这是javascript方法:
getContacts: function(numberOf){
var path = "/Contact/GetContacts/";
path = (numberOf<=0) ? path : "/Contact/GetContacts/" + numberOf;
$.getJSON(path, null,
function(json){
$.each(json, function(){
$('tbody','#contacts').append(
"<tr id=\"contact-"+ this.Id +"\">"
+ "<td>"+ this.Id +"</td>"
+ "<td>"+ this.FirstName +"</td>"
+ "<td>"+ this.LastName +"</td>"
+ "</tr>"
);
});
});
},