AJAX POST模型为空

问题描述 投票:0回答:1

我在使用Ajax发布请求传递模型时遇到问题。

值传递到下面的Javascript函数中,变量转换为JSON字符串并发送到控制器方法。

在Chrome中使用开发工具时,我可以看到数据按预期发送。

问题是控制器中对象参数的属性都是0.为什么会发生这种情况,如何解决?

示例数据

EventID = 419656

EventStart = Tue Dec 05 2017 10:00:00 GMT + 0000

周四年1月5 11:00:00 GMT + 0000 = 2017年EventEnd

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 )
    {
    }

}
javascript jquery ajax asp.net-mvc asp.net-ajax
1个回答
0
投票

你尝试过类似的东西:

var model = {ID: EventID, 
        NewEventStart: EventStart, 
        NewEventEnd: EventEnd
        };

然后在你的ajax帖子中:

data: JSON.stringify(model),

它可能没有任何区别,但我从未见过:

type: 'POST',

type: "POST",
© www.soinside.com 2019 - 2024. All rights reserved.