C# MVC 日期时间选择器问题
C# MVC DateTime Picker Problems
所以。如果我的模型中有这个:
[DataType(DataType.Date)]
public DateTime Birthday { get; set; }
我在调用时得到了一个不错的日期选择器字段(但不能 select time):
@Html.EditorFor(model => model.Birthday, new { htmlAttributes = new { @class = "form-control" } })
但是,如果我想记录事件的日期和开始时间时间:
[DataType(DataType.DateTime)]
public DateTime Start { get; set; }
我得到的只是一个常规文本字段。
此外,我刚刚注意到,当我想编辑现有记录时,日期为空并且必须重新输入,即使所有其他字段都已正确填充。
您可以将日期时间保存为数据库中的字符串或操作从 UI 发布的日期时间值。请参阅参考资料:
http://eonasdan.github.io/bootstrap-datetimepicker/
http://forums.asp.net/t/1975676.aspx?Tutorial+for+Adding+Datepicker+in+MVC+5
我认为您还可以在 HTML 中指定本地日期时间 属性。
@Html.TextBoxFor(model => model.Property, new { htmlAttributes = new { @class = "form-control", @type="datetime-local" } })
这是在您的应用程序中获取 date/time 选择器的一种非常简单易行的方法。
编辑:
要将 date/time 设置为 "default",您需要一些 jQuery,因为通过 @Value
(据我所知)这是不可能的。我使用以下设置表单上的 date/time。
$(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);
});
所以。如果我的模型中有这个:
[DataType(DataType.Date)]
public DateTime Birthday { get; set; }
我在调用时得到了一个不错的日期选择器字段(但不能 select time):
@Html.EditorFor(model => model.Birthday, new { htmlAttributes = new { @class = "form-control" } })
但是,如果我想记录事件的日期和开始时间时间:
[DataType(DataType.DateTime)]
public DateTime Start { get; set; }
我得到的只是一个常规文本字段。
此外,我刚刚注意到,当我想编辑现有记录时,日期为空并且必须重新输入,即使所有其他字段都已正确填充。
您可以将日期时间保存为数据库中的字符串或操作从 UI 发布的日期时间值。请参阅参考资料: http://eonasdan.github.io/bootstrap-datetimepicker/ http://forums.asp.net/t/1975676.aspx?Tutorial+for+Adding+Datepicker+in+MVC+5
我认为您还可以在 HTML 中指定本地日期时间 属性。
@Html.TextBoxFor(model => model.Property, new { htmlAttributes = new { @class = "form-control", @type="datetime-local" } })
这是在您的应用程序中获取 date/time 选择器的一种非常简单易行的方法。
编辑:
要将 date/time 设置为 "default",您需要一些 jQuery,因为通过 @Value
(据我所知)这是不可能的。我使用以下设置表单上的 date/time。
$(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);
});