【问题标题】:Handling Time value处理时间值
【发布时间】:2013-04-12 06:53:11
【问题描述】:

我在 UI 中有以下字段

  • 预约日期04/13/2013
  • 开始时间13:00
  • 结束时间14:30

目前的数据库设计是

  • 约会日期SMALLDATETIME Ex值04-13-2013
  • 开始时间SMALLDATETIME Ex值04-13-2013 13:00
  • 结束时间SMALLDATETIME Ex 值04-13-2013 14:30

我为这个模型设计了一个类

public class Appointment
{
DateTime? AppointmentDate{get;set;}
DateTime? StartTime{get;set;}
DateTime? EndTime{get;set;}

}

我使用 ASP.Net MVC 4 和

 @Html.TextBox("", m.StartTime.ToString("HH:mm"))

添加了 jQuery 验证插件,我收到验证消息 14:30 不是有效日期。

我可以在 UI/DataBase/Validation 中实施哪些更改来处理时间输入?

我使用的是 SQL Server 2008

【问题讨论】:

    标签: c# jquery asp.net asp.net-mvc


    【解决方案1】:

    您的开始时间和结束时间属性在视图模型中必须是小数,因为这是您在发布时从视图传回的内容。

    【讨论】:

    • 我不认为13:00 是十进制值
    • 13.00 是,并且解决了这个问题。也比解析字符串好。
    【解决方案2】:

    您是否尝试过明确设置列的数据类型:

    public class Appointment
    {
        [DataType(DataType.Date)]
        public DateTime? AppointmentDate { get; set; }
    
        [DataType(DataType.Time)]
        public DateTime? StartTime { get; set; }
    
        [DataType(DataType.Time)]
        public DateTime? EndTime { get; set; }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      • 2017-05-02
      • 2017-06-24
      • 1970-01-01
      • 1970-01-01
      • 2016-07-11
      • 1970-01-01
      相关资源
      最近更新 更多