[Display(Name = "Due Date")]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}")]
[DataType(DataType.Date)]
public DateTime? DueDate { get; set; }
以上是模型中的适用代码。要将type
设置为date
,请将[DataType(DataType.Date)]
设置为上述内容。否则,从asp.net core 2.0.0开始,它们默认输入datetime-local类型的元素,而之前它们只是.net core 1.x中的纯文本框。
我假设我可以在public DateTime? DueDate { get; set; }
之上添加另一行来指定将在我的asp.net核心应用程序的视图中填充的min属性
视图中的代码如下:
<div class="form-group">
<label asp-for="DueDate" class="pull-left"></label>
<div class="col-md-10">
<input asp-for="DueDate" class="form-control" />
<span asp-validation-for="DueDate" class="text-danger"></span>
</div>
</div>
答案 0 :(得分:0)
您的代码在输入中生成type="date"
,生成浏览器HTML-5 datepicker,它还支持min
和max
属性。
您可以修改视图以包含这些属性,例如
<input asp-for="DueDate" class="form-control" min="2017-01-01" max="2017-12-31" />
将日期选择限制在今年。请注意,min
和max
值必须采用ISO(yyyy-MM-dd
)格式,并且两者都应该使用(如果不包含这两者,则Chrome日期选择程序有点错误)< / p>
但请注意,type="date"
仅在Chrome和Edge中受支持,如果您使用的是IE或FireFox,则只会显示普通的texbox。我建议您考虑使用jQuery datepicker插件(例如jquery-ui
),以便您的用户拥有一致的用户界面。