为什么它在 MVC 4 中不显示日期和时间选取器

本文关键字:日期 时间 选取 显示 MVC 为什么 | 更新日期: 2023-09-27 18:35:38

我正在创建一个MVC项目,我对它很陌生。我有一个日期时间属性的创建视图。

在 HTML 中,它只显示日期时间属性的简单文本框。如何使其成为日期和时间选择器?而且,这是我下面的HTML代码...

<div class="form-group">
        @Html.LabelFor(model => model.CreatedTime, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10 datetimepicker">
            @Html.EditorFor(model => model.CreatedTime, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.CreatedTime, "", new { @class = "text-danger" })
        </div>
    </div>

我的模型类如下所示

public partial class AntsoftCrmProjectTransaction
{
    public int Id { get; set; }
    public int ProjectId { get; set; }
    public int MinutesSpent { get; set; }
    public string ProblemDescription { get; set; }
    public bool ProblemIsFixed { get; set; }
    public string ProblemResult { get; set; }
    public string CurrentlyInCharge { get; set; }
    public int SupportId { get; set; }
    public int UserId { get; set; }
    public System.DateTime CreatedTime { get; set; }

为什么它在 MVC 4 中不显示日期和时间选取器

为此,您将需要某种类型的HTML控件。

<input type="date"' 

在某些浏览器中有支持,但根据您的浏览器和版本而受到限制,并且仅在 HTML5 中受支持。

最好的解决方案是找到类似jquery日期和时间选择器的东西。使用它并添加一些脚本以允许用户选择日期时间。

@Html.EditorFor 运行时将创建一个 html <textbox /> 标记。

你要做的是使用一个javascript库将该EditorFor转换为DateTimePicker(你可以使用JQueryUI - 更多细节和msdn的工作示例,在这里),如下所示:

<script type="text/javascript">
    $(function () {
        // This should be the element generated by your EditorFor()  
        $('#CreatedTime').datepicker();
    })
</script>