如何将日期时间值附加到表单数据并在控制器中接收它
How to append datetime value to formdata and receive it in controller
我想知道如何通过 formdata 传递日期时间值和
在控制器中检索它并在控制器中将其转换为 DateTime
我试过如下:
var formdata=new FormData();
fromDate = $('.from_date').datepicker('getUTCDate');
toDate = $('.to_date').datepicker('getUTCDate');
formdata.append("start", new Date(fromDate));
formdata.append("end", new Date(toDate));
并且在 $.ajax
我设置 data:formdata
在我的控制器中,我收到如下信息:
DateTime frmDate = Convert.ToDateTime(Request.Form["start"]).Date;
DateTime toDate = Convert.ToDateTime(Request.Form["end"]).Date;
但是这里我在尝试 Convert
到日期时间时得到 System.FormatException
并且当我监视 Request.Form["start"]
时值将是 "Fri Mar 30 2015 05:30:00 GMT+0530 (Indian Standard Time)"
但它考虑从请求中检索时它作为字符串。
是否可以通过Request
传递日期时间类型?
您收到 FormatException,因为日期字符串的格式不是 .NET 日期解析器可识别的模式。如果我们可以更具体地了解 javascript 中的格式,我们就可以满足 .NET 解析器的要求。
var datestr = (new Date(fromDate)).toUTCString();
formdata.append("start", datestr);
其中任何一个都会给我们一个可接受的格式
现在我们解析您服务器端代码中的字符串
DateTime fromDate = Convert.ToDateTime(Request.Form["start"]).Date;
根据您机器的文化设置,您可能需要使用 DateTime.ParseExact()
而不是 Convert.ToDateTime()
。
是否可以通过Request传递datetime类型?
沿着从 javascript 到您的控制器操作的管道,无论如何这将被转换为字符串或整数。我们可以 return DateTime 的刻度(毫秒)表示,但随后您需要将其转换为使用不同纪元和纳秒单位的 .NET 刻度。
只使用标准格式的字符串。
更多关于解析日期格式的信息here。
我想知道如何通过 formdata 传递日期时间值和 在控制器中检索它并在控制器中将其转换为 DateTime
我试过如下:
var formdata=new FormData();
fromDate = $('.from_date').datepicker('getUTCDate');
toDate = $('.to_date').datepicker('getUTCDate');
formdata.append("start", new Date(fromDate));
formdata.append("end", new Date(toDate));
并且在 $.ajax
我设置 data:formdata
在我的控制器中,我收到如下信息:
DateTime frmDate = Convert.ToDateTime(Request.Form["start"]).Date;
DateTime toDate = Convert.ToDateTime(Request.Form["end"]).Date;
但是这里我在尝试 Convert
到日期时间时得到 System.FormatException
并且当我监视 Request.Form["start"]
时值将是 "Fri Mar 30 2015 05:30:00 GMT+0530 (Indian Standard Time)"
但它考虑从请求中检索时它作为字符串。
是否可以通过Request
传递日期时间类型?
您收到 FormatException,因为日期字符串的格式不是 .NET 日期解析器可识别的模式。如果我们可以更具体地了解 javascript 中的格式,我们就可以满足 .NET 解析器的要求。
var datestr = (new Date(fromDate)).toUTCString();
formdata.append("start", datestr);
其中任何一个都会给我们一个可接受的格式
现在我们解析您服务器端代码中的字符串
DateTime fromDate = Convert.ToDateTime(Request.Form["start"]).Date;
根据您机器的文化设置,您可能需要使用 DateTime.ParseExact()
而不是 Convert.ToDateTime()
。
是否可以通过Request传递datetime类型?
沿着从 javascript 到您的控制器操作的管道,无论如何这将被转换为字符串或整数。我们可以 return DateTime 的刻度(毫秒)表示,但随后您需要将其转换为使用不同纪元和纳秒单位的 .NET 刻度。
只使用标准格式的字符串。
更多关于解析日期格式的信息here。