MVC 3 Bootstrap Time Picker始终在Edit视图中显示当前时间

时间:2017-03-03 11:32:57

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

我有一个MVC 3项目,我在其中使用Bootstrap Jquery Timepicker控件来输入两个字段。

相应视图模型和实体模型属性的C#数据类型是“DateTime?”并且相应数据库字段的数据类型是时间。

当我在创建视图时,一切都按预期工作。该字段在创建时开始为空,当我点击保存时,它一直很好地进入数据库。在详细信息视图上,值显示正确。我在两个视图中唯一的问题是格式。比如说上午9:45,创建视图显示它像上午9:45,详细信息视图显示它像9:45:00 am我想在两者中显示相同的格式但如果不可能我可以忍受。< / p>

真正的问题出现在编辑视图中,当进入编辑视图时,两个字段都显示当前时间,而不是显示已保存到数据库的时间。这非常奇怪。我有项目的其他部分,我使用Bootstrap Jquery Datepicker和Bootstrap Jquery Datetimepicker,一切都很好。但是在这个我需要Bootstrap Jquery Timepicker的视图中,我有这个奇怪的问题。

以下是与所涉及字段相关的一些代码。

查看模型属性

[DataType(DataType.Time)]
[Display(Name = "Start time")]
public DateTime? startTime { get; set; }

[DataType(DataType.Time)]
[Display(Name = "End time")]
public DateTime? endTime { get; set; }

将数据从SqlDataReader提取到实体类的代码片段。

else if (row["ColumnName"].ToString() == "StartTime")
{
    if (!readCursor.IsDBNull(idx))
    {
        TimeSpan startTime = readCursor.GetTimeSpan(idx);
        item.startTime = item.doneDate.Value + startTime;
    }
}
else if (row["ColumnName"].ToString() == "EndTime")
{
    if (!readCursor.IsDBNull(idx))
    {
        TimeSpan endTime = readCursor.GetTimeSpan(idx);
        item.endTime = item.doneDate.Value + endTime;
    }
}

Jquery代码

$(document).ready(function () {
    $("tr.editor-table-row input[name$='.startTime'], tr.editor-table-row input[name$='.endTime']").each(function () {
        $(this).timepicker({
        });
    });
});

我希望任何人都可以帮我解决这个问题。我的猜测可能是时间格式9:45:00,与上午9:45的时间选择器格式不兼容。

提前致谢

0 个答案:

没有答案