将值设置为@ Html.EditorFor并保留其datepicker函数

问题描述

我遇到问题了。
现在将尝试逐步解释所有内容

我的任务
我正在为自己创建一个非常简单的应用来组织工作任务。

问题
我需要一种到期日的DatePicker。我已经在互联网上搜索了一种解决方案,但最终使用@Html.EditorFor解决这个问题,因为我不熟悉JQuery和其他提供自定义选择器的东西。通常,它对我来说很好用,除了一件事-当模型具有现有日期时,此字段不会显示它。
正如我发现的那样,@Html.EditorFor在不同的浏览器中具有不同的行为,因此目标浏览器是Chrome。

代码
型号:

        [required]
        [display(Name = "Due Date")]
        [DataType(DataType.Date)]
        [displayFormat(DataFormatString = "{0:dd'/'MM'/'yyyy}",ApplyFormatInEditMode = true)]
        public DateTime DueDate { get; set; }

查看:

    <div class="form-group">
        @Html.LabelFor(e => e.DueDate)<p/>
        @if (Model == null)
        {
            @Html.EditorFor(e => e.DueDate,new { @class = "form-control",@Value = DateTime.Now })
        }
        else
        {
            @Html.EditorFor(e => e.DueDate,@Value = Model.DueDate })
        }
        @Html.ValidationMessageFor(e => e.DueDate,null,new { @class = "text-danger" })
    </div>

控制器:

        public ActionResult Record(int? id)
        {
            var rec = _context.TaskEntries.FirstOrDefault(r => r.Id == id);
            return rec == null ? View() : View(rec);
        }

在主页上看起来不错,并带有任务列表(将不需要的内容弄糊涂了):

MinPage

但是当我打开记录时-不显示日期:

Record

我尝试过的事情
浏览thisthis,尝试将[DataType(DataType.Date)]替换为[DataType(DataType.DateTime)]。它可以在现场显示日期,但选择器消失了。

感谢您对我的问题或指南的协助,以了解和使用自定义选择器。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)