How to append datetime value to formdata and receive it in controller

前端 未结 1 1798
情深已故
情深已故 2021-01-12 07:04

I want to know how I can pass datetime value through formdata and retrieve it in controller and convert it to DateTime in the controller

I\'ve tried as below:

1条回答
  •  借酒劲吻你
    2021-01-12 07:31

    You get FormatException because the date string is not formatted in recognized pattern for the .NET date parser. If we can be more specific about the format in javascript we can satisfy the .NET parser.

    var datestr = (new Date(fromDate)).toUTCString();
    formdata.append("start", datestr);
    

    Either of these will give us an accepted format

    • toUTCString()
    • toISOString()

    Now we parse the string in your server-side code

    DateTime fromDate = Convert.ToDateTime(Request.Form["start"]).Date;
    

    Depending on your machine's culture settings you may need to use DateTime.ParseExact() instead of Convert.ToDateTime().

    Is it possible to pass datetime type through Request?

    Along the pipeline from javascript to your controller action this will be converted to a string or integer anyway. We could return the tick (milisecond) representation for the DateTime but then you'd need to convert that to .NET ticks which uses a different epoch and nanosecond units.

    Just stick to strings with standard formats.

    More on parsing Date formats here.

    0 讨论(0)
提交回复
热议问题