[英]How to pass/map Date object from JavaScript to DateTime object in C# MVC controller action through ajax post?
我正在从客户端发布 JavaScript日期对象 ,并在C#控制器操作中接收它。 在C#控制器操作中,对象被映射到C# DateTime
对象 。
但是DateTime对象没有从javascript date对象获取确切的值。
它显示DateTime的最小值 ,即
01-01-0001 12:00:00 AM
这是我的脚本代码:
var laraHistory = {
HistoryId: historyId,
CompanyId: companyId,
ChangedDate: new Date(Date.parse(changedDate)), //here is how i am setting the date
LaraId: laraId,
Comments: comments,
ChangedById: changedById,
IsDeleted: true
};
$.ajax({
type: "POST",
url: "/Manage/HideLaraHistory",
data: JSON.stringify({ companyLaraHistory: laraHistory }),
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function() {
window.location.reload();
}
});
这是我的ViewModel类:
public class CompanyLaraHistoryViewModel
{
public int HistoryId { get; set; }
public int CompanyId { get; set; }
[Display(Name = "Company Name")]
public string CompanyName { get; set; }
[Display(Name = "LARA")]
public byte LaraId { get; set; }
public LARA Lara { get; set; }
[Display(Name = "Changed Date")]
public DateTime ChangedDate { get; set; }
public int ChangedById { get; set; }
[Display(Name = "Comments")]
public string Comments { get; set; }
public bool IsDeleted { get; set; }
}
这可能是什么原因? js日期对象不能映射到c#日期时间对象吗?
谁能给我解决方案?
考虑解决该问题的不同方法。 在我的应用程序中,我更喜欢以某种恒定格式将日期或时间发送到服务器。
例如,如果在JS中我的日期是2015年1月1日,则将其以以下格式YYYY-MM-DD发送到服务器,然后在服务器上将其解析为C#/ any_other_language Date对象。
它需要使用知道这种格式的客户端服务器适配器。 从服务器获取日期时,我也这样做。 我有一个将字符串转换为JS Date对象的适配器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.