C# 使用WebApi将DateTimeOffset作为GET请求中路径的一部分传递

C# 使用WebApi将DateTimeOffset作为GET请求中路径的一部分传递,c#,asp.net,.net,asp.net-mvc,asp.net-web-api,C#,Asp.net,.net,Asp.net Mvc,Asp.net Web Api,此Get方法的URL是什么 public class ValuesController : ApiController { public string Get(DateTimeOffset startDate) { return "value"; } } 路由模板是 routeTemplate: "api/{controller}/{startDate}" 我试着点击网址,比如 api/values/12Sept2013 api/values/2011

Get
方法的URL是什么

public class ValuesController : ApiController
{
    public string Get(DateTimeOffset startDate)
    {
        return "value";
    }
}
路由模板是

routeTemplate: "api/{controller}/{startDate}"
我试着点击网址,比如

api/values/12Sept2013
api/values/2011-06-01T14:03:00+00:00Z
api/values/2011-12-13
什么都没用。。我甚至用
HttpUtility.UrlEncode
对startDate进行了编码,但不起作用

知道正确的格式是什么吗?

类似这样的内容

~/api/values?startDate=2008%2F08%2F08
答复 要将
DateTimeOffset
发送到API,请将其格式化如下:

2017-04-17T05:45:18.070Z

完整的API URL如下所示:

http://localhost:1234/api/values/startDate=2017-04-17T05:45:18.070Z

通过以这种方式对其进行格式化,我能够将
DateTimeOffset
参数传递给我使用Azure移动服务制作的
ApiController

代码 您可以使用
ToString(yyy-MM-ddTHH:MM:ss.fffZ)
来解析DateTimeOffset

var datetimeoffsetasapparameter=DateTimeOffset.Now.UtcDateTime.ToString(“yyy-MM-ddTHH:MM:ss.fffZ”);
字符串格式(“http://localhost:1234/api/values/?startDate={0},DateTimeOffsetAsApapParameter);

nope!!。。。它给出了“HTTP错误404.0-找不到”错误…好吧,将startDate参数移动到querystring是可行的。。。api/values?起始日期=2013%2F08%2F08有效期!。。谢谢我可以接受。