我遇到问题:我通过 Ajax 向我的处理程序方法发送简单的日期和消费者 ID,但在该方法中,我总是得到 null。我认为问题在于日期。
有人可以帮助我吗?
客户端代码:
consumer2.ConsumerId
var v1 = new Date();
var date = v1.getDate()+ "/" + (v1.getMonth() + 1) + "/" + v1.getFullYear();
// consumer2.datelocal = date;
console.log(consumer2);
console.log("------");
console.log(consumer);
$.ajax({
type: 'POST',
url: getRootPath() + '/AjaxHandlers/Details?handler=UpdateConsumer2',
headers: {
'RequestVerificationToken': token
},
data: JSON.stringify(consumer2),
// data: JSON.stringify({ Consumer: consumer2, UpdateConsumer: PartyUpdate, ChannelOfContactibility: "MAIL" }),
// data: JSON.stringify( consumer ),
contentType: 'application/json; charset=utf-8',
Web服务方式:
public class Consumer2
{
public Nullable<DateTime> datelocal { get; set; }
public int ConsumerId { get; set; }
}
public IActionResult OnPostUpdateConsumer2([FromBody] Consumer2 consumer)
{
return null;
}
JavaScript 中的 Date 对象在格式为
dd/mm/yyyy
时可能不会被 .NET 自动识别为有效的 DateTime。为了确保正确解析,请使用 yyyy-MM-dd
格式:
var consumer2 = {
ConsumerId: 123,
datelocal: ""
};
var v1 = new Date();
var date = v1.getFullYear() + "-" + (v1.getMonth() + 1) + "-" + v1.getDate();
consumer2.datelocal = date;