asp.net mvc-C#mvc日期时间选择器问题

本文关键字:选择器 问题 时间 日期 net mvc-C#mvc asp | 更新日期: 2023-09-27 17:52:52

所以。如果我的模型中有这个:

[DataType(DataType.Date)]
public DateTime Birthday { get; set; }

当我调用时,我得到了一个很好的日期选择器字段(但不能选择时间(:

@Html.EditorFor(model => model.Birthday, new { htmlAttributes = new { @class = "form-control" } })

但是,如果我想记录事件的日期和开始时间:

[DataType(DataType.DateTime)]
public DateTime Start { get; set; }

我只得到一个普通的文本字段。


此外,我刚刚注意到,当我想编辑现有记录时,日期是空的,必须再次输入,即使所有其他字段都填充得很好。

asp.net mvc-C#mvc日期时间选择器问题

我认为您还可以在HTML中指定datetime本地属性。

@Html.TextBoxFor(model => model.Property, new { htmlAttributes = new { @class = "form-control", @type="datetime-local" } })

这是在应用程序中获取日期/时间选择器的一种非常简单的方法。

编辑:要将日期/时间设置为"默认",您需要一点jQuery,因为这不可能通过@Value(据我所知(实现。我使用以下内容设置表格上的日期/时间。

$(document).ready(function () {
    var now = new Date();
    var day = (@Model.myDate.Day.ToString().Length != 2) ? "0" + @Model.myDate.Day : @Model.myDate.Day;
    var month = (@Model.myDate.Month.ToString().Length != 2) ? "0" + @Model.myDate.Month : @Model.myDate.Month;
    var today = @Model.myDate.Year + "-" + (month) + "-" + (day);
    $('#IdOfDateElement').val(today);
});

您可以将日期时间保存为数据库中的字符串,也可以操作从UI发布的日期时间值。参见参考资料:http://eonasdan.github.io/bootstrap-datetimepicker/http://forums.asp.net/t/1975676.aspx?Tutorial+for+Adding+Datepicker+in+MVC+5