我用:
呼叫服务器var url = '@Url.Action("GetWhoBowls", "Home")';
$.getJSON(url, { "theDate": "calEvent.start" }, function (data) {
alert(data.name);
});
我已经尝试了引用'theDate'甚至calEvent的所有排列。如上所述开始....在所有情况下,服务器报错(来自Firebug):
参数字典包含一个非空类型'System '的参数'theDate'的空条目。在MatchClubMVC.Controllers.HomeController中,为方法System.Web.Mvc.ActionResult GetWhoBowls(Double) .
Firebug将调用的参数显示为theDate calEvent.start
这是我的控制器方法签名public ActionResult GetWhoBowls(double theDate)
有谁能好心地给我指路吗?
如果您期望控制器上的双引号不发送字符串(删除calEvent.start
周围的简单引号,否则您将此字符串文字发送到服务器,显然不能转换为双引号):
$.getJSON(url, { theDate: calEvent.start }, function (data) {
alert(data.name);
});
还要确保calEvent.start
是一个有效的双精度值
try
public ActionResult GetWhoBowls(double? theDate)
还出现了错误,因为您在{ "theDate": "calEvent.start" }
编辑
不知道这是否能解决问题,但试试这个
var url = '@Url.Action("GetWhoBowls", "Home")';
$.getJSON(url, { theDate: "calEvent.start" }, function (data) {
alert(data.name);
});
并像这样修改操作结果
public ActionResult GetWhoBowls(double theDate)
{
return(data,JsonRequestBehavior.AllowGet);
}
如果您从客户端发送null