Asp.net mvc 日期格式更改为';年月日';将数据发布到web api方法时
我正在使用ASP.NETMVC4和Web API 我想能够下载一个csv文件点击一个按钮 下面是我对api“exportfruit”的jquery调用Asp.net mvc 日期格式更改为';年月日';将数据发布到web api方法时,asp.net-mvc,datetime,post,asp.net-mvc-4,asp.net-web-api,Asp.net Mvc,Datetime,Post,Asp.net Mvc 4,Asp.net Web Api,我正在使用ASP.NETMVC4和Web API 我想能够下载一个csv文件点击一个按钮 下面是我对api“exportfruit”的jquery调用 function downloadFile(){ var data = { StartDate: this.model.get('StartDate'), Name: this.model.get('Name') }; var form = document.createElement('form'); form.action
function downloadFile(){
var data = {
StartDate: this.model.get('StartDate'),
Name: this.model.get('Name')
};
var form = document.createElement('form');
form.action = 'api/fruitapi/exportFruit';
form.method = 'POST';
form.style.display = 'none';
for (i in data) {
if (data[i] != "") {
var inputElement = document.createElement('textarea');
inputElement.name = i;
inputElement.value = data[i];
form.appendChild(inputElement);
}
}
document.body.appendChild(form);
form.submit();
}
我的web api操作如下所示
[ActionName("ExportFruit")]
public HttpResponseMessage PostExportFruit(SomeModel model)
{
// for now i am just testing the value returned from model.
string csv = "some data from db";
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
result.Content = new StringContent(csv);
//a text file is actually an octet-stream (pdf, etc)
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
//we used attachment to force download
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
result.Content.Headers.ContentDisposition.FileName = "testfile.csv";
return result;
}
现在我面临的问题是,我将日期传递为'dd/mm/yyyy',但在web api操作中,它将日期转换为'mm/dd/yyyy'
那么比如说,
如果我有这样的约会
- 2012年1月2日此转换为2012年2月1日
- 如果2012年10月22日(今天的日期)转换为01/01/0001
请在这方面帮助我,因为internet上几乎没有任何内容可用于此操作。您可以将StartDate的类型Datetime更改为String 然后,post to action,将精确的字符串解析为datetime
DateTime startDate = DateTime.ParseExact(model.StartDate, "dd/MM/yyyy", null);
DateTime endDate = DateTime.ParseExact(model.EndDate, "dd/MM/yyyy", null);
您可以将StartDate的类型Datetime更改为String 然后,post to action,将精确的字符串解析为datetime
DateTime startDate = DateTime.ParseExact(model.StartDate, "dd/MM/yyyy", null);
DateTime endDate = DateTime.ParseExact(model.EndDate, "dd/MM/yyyy", null);
我知道这种方法,这是我的备份计划;)但也必须有一种方法使用DateTime对象来实现这一点,对吗?无论如何感谢@ChunHao Tang没有其他解决方案,我最终使用了这种方法。谢谢@ChunHao TangI知道这个方法,这是我的备份计划;)但也必须有一种方法使用DateTime对象来实现这一点,对吗?无论如何感谢@ChunHao Tang没有其他解决方案,我最终使用了这种方法。谢谢@ChunHao Tang