加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – Asp.net MVC中的TimeSpan和“24:00”解析错误

发布时间:2020-12-16 07:27:40 所属栏目:asp.Net 来源:网络整理
导读:我的Web应用程序中有一个模态对话框,用户可以在00:00到24:00之间输入时间范围.范围滑块用于选择此范围. 一切都按预期工作,除非用户设置正确的范围句柄以使其值为24:00默认模型绑定器无法解析此TimeSpan. public class Timing{ public TimeSpan Starts { get;
我的Web应用程序中有一个模态对话框,用户可以在00:00到24:00之间输入时间范围.范围滑块用于选择此范围.

一切都按预期工作,除非用户设置正确的范围句柄以使其值为24:00默认模型绑定器无法解析此TimeSpan.

public class Timing
{
    public TimeSpan Starts { get; set; }
    public TimeSpan Ends { get; set; }
}

我被发送回服务器的对象有一个IList< Timing>属性.

所以.问题只是字符串值“24:00”无法解析为TimeSpan实例.是否有可能说服默认模型绑定器识别这样的字符串值?

我想避免在客户端24:00更改为00:00.我知道我有Starts和Ends属性,但我的模型验证验证Ends总是大于Starts.手动更改为23:59也很麻烦.基本上可以通过24:00仍然可以在服务器上解析.

解决方法

我认为范围太小了.事实上,24:00是第二天00:00.
所以他们应该从00:00.00到23:59.99或其他什么.

最终答案(?)将客户端的24:00更改为1.0:00.
这将起作用,因为TimeSpan.Parse(“1.0:00”).TotalHours返回24

编辑:请参阅此处的文档:http://msdn.microsoft.com/en-us/library/se73z7b9.aspx.它显示了天,小时,分钟等的最大范围.根据下面的评论,小时数为0到23.

编辑:如果你只是让他们选择几个小时的整数,然后在服务器上解析它.

例如. TimeSpan ts = TimeSpan.FromHours(24)返回1.00:00:00当然你总是可以说ts.TotalHours它会返回24.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读