[英]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.