我的 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
and Ends
属性,但我的模型验证验证了这一点Ends
总是大于Starts
。手动更改为 23:59 也很麻烦。基本上是否有可能经过 24:00 并且仍然在服务器上被解析.
我认为这个范围有点太大了。24:00
事实上是00:00
第二天。
所以他们应该从00:00.00
to 23:59.99
管他呢。
最终答案(?) 更改24:00
在客户端上1.0:00
。
这会起作用,因为TimeSpan.Parse("1.0:00").TotalHours
回报24
EDIT:请参阅此处的文档:http://msdn.microsoft.com/en-us/library/se73z7b9.aspx http://msdn.microsoft.com/en-us/library/se73z7b9.aspx。它显示天、小时、分钟等的最大范围。对于小时,它是0
to 23
根据我下面的评论。
编辑:如果您只是让他们选择一个整数几个小时,然后在服务器上解析它。
eg. TimeSpan ts = TimeSpan.FromHours(24)
回报1.00:00:00
当然你可以随时说ts.TotalHours
它返回24
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)