我在使用Ajax发布请求传递模型时遇到问题。
将值传递到下面的Javascript函数中,将变量转换为JSON字符串并发送到控制器方法。
在Chrome中使用开发工具时,我可以看到数据正在按预期发送。
问题是控制器中对象参数的属性都是0.为什么会发生这种情况?如何解决?
示例数据
EventID = 419656
EventStart = 2017年12月5日星期二10:00:00 GMT + 0000
EventEnd = Tue Dec 05 2017 11:00:00 GMT + 0000
的JavaScript :
function UpdateEvent(EventID, EventStart, EventEnd) {
alert(EventID);
$.ajax({
type: 'POST',
url: "/Calendar/UpdateEvent",
contentType: "application/json",
data: JSON.stringify({
Id: EventID,
NewEventStart: EventStart,
NewEventEnd: EventEnd
})
});
}
模型:
public class UpdateAppt
{
public int Id { get; set; }
public DateTime NewEventStart { get; set; }
public DateTime NewEventEnd { get; set; }
}
控制器:
[RoutePrefix("Calendar"), Route("{action=index}")]
public class CalendarController : Controller
{
public void UpdateEvent(UpdateAppt updateModel )
{
}
}
答案 0 :(得分:0)
你有没有试过像:
var model = {ID: EventID,
NewEventStart: EventStart,
NewEventEnd: EventEnd
};
然后在你的ajax帖子中:
data: JSON.stringify(model),
它可能没有任何区别,但我从未见过:
type: 'POST',
,而
type: "POST",