asp.net – 如何使用Web API属性路由传递DateTime参数?
发布时间:2020-12-16 03:55:18 所属栏目:asp.Net 来源:网络整理
导读:我正在使用ASP.NET Web API 2开发REST API. 当我尝试将日期整合到游戏中时会变坏. 这是路线: [Route("{id:Guid}/{from:DateTime}/{to:DateTime}")] 当我这样做时,我可以完美地传递类似的东西 .../[id]/2012-01-01/2013-01-01 然而,当我到达需要时间信息的地
我正在使用ASP.NET Web API 2开发REST API.
当我尝试将日期整合到游戏中时会变坏. 这是路线: [Route("{id:Guid}/{from:DateTime}/{to:DateTime}")] 当我这样做时,我可以完美地传递类似的东西 .../[id]/2012-01-01/2013-01-01 然而,当我到达需要时间信息的地步时,它变得非常糟糕,让我们想象一下: .../[id]/2012-01-01/2013-01-01 1:45:30 PM/2013-01-01 1:45:30 PM 似乎空间正常,但“:”正在阻塞.所以我虽然应该使用我自己的格式,因为yyyyMMddhhmm.这给出了以下URL: .../[id]/201301031147/201401031147 但是,.NET并不期望这是一个DateTime,也不知道如何使用它.所以我使用IHttpRouteConstraint来允许它. 所以我的问题是,你如何将DateTime传递给路线? 解决方法
问题是:路径中是URL保留字符. MVC不期望它是URL编码的,也不会处理它.但是,它不在查询字符串中保留.
从路由规范中删除它,但将它们作为参数保留在方法中,模型绑定器将绑定它们.或者,您也可以将它们作为参数删除,并通过Context查询字符串属性或ControllerContext.Request.GetQueryNameValuePairs()访问它们. 你会有吗?fromDate = 2012-01-01T1:45:30 PM& toDate = 2013-01-01T1:45:30PM (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp-classic – 经典的ASP gremlims,每当使用HTML特殊字符时
- asp.net-mvc – 在ASP.Net MVC 2中为非归因模型验证提供本地
- asp.net-mvc – MVC [HttpGet]控制器注释可选吗?
- asp.net – 使用JavaScript重新排列的ListBox元素导致回发时
- asp.net-mvc – asp.net mvc并检查用户是否已登录
- asp.net – 在维护期间重定向站点访问者
- asp.net – aspnet_regiis -ga的对面
- ASP.NET:隐藏gridview中的列
- Asp.Net Core 空白模板搭建Mvc架构
- asp.net – 每个会话的NH请求 – “会话已关闭!”
推荐文章
站长推荐
- asp.net – 如何确定服务器控件的客户端NAME?
- asp.net mvc基于jQuery+Ajax实现无刷新分页
- 在ASP.Net中,在哪个页面生命周期事件中,viewstat
- asp.net-mvc-3 – 在MVC 3.0中重写Html.BeginFor
- asp.net-mvc – mvc局部视图帖子
- asp.net-mvc – 如何在asp.net中使用mvc构建购物
- asp.net-mvc-5 – OWIN和IIS集成的内部
- asp.net-mvc – 使用ASP.NET MVC中绝对路径访问视
- asp.net-mvc – ASP.NET MVC – Typesafe Html.T
- Asp.net,在哪里存储登录用户的用户名?
热点阅读