Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 日期格式更改为';年月日';将数据发布到web api方法时_Asp.net Mvc_Datetime_Post_Asp.net Mvc 4_Asp.net Web Api - Fatal编程技术网

Asp.net mvc 日期格式更改为';年月日';将数据发布到web api方法时

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

我正在使用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 = '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
我该如何解决这个问题

我在传递json数据时遇到了类似的问题,我用这个方法解决了这个问题,但我不知道如何处理这个问题


请在这方面帮助我,因为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