【问题标题】:Display Datepicker in Editor onload instead of needing the user to pick在编辑器 onload 中显示 Datepicker,而不需要用户选择
【发布时间】:2016-07-01 10:27:05
【问题描述】:

目前我有这个日期选择器,它将在弹出日历上突出显示今天的日期,但日期 onLoad 的编辑器显示 DD/MM/YYYY,而不是在页面加载时自动填充它。我该如何解决?

这就是我在 html 文件中显示日期选择器的方式:

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

这就是我的定义:

[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]

【问题讨论】:

    标签: c# asp.net-mvc datepicker


    【解决方案1】:

    您的 EditorFor() 方法正在渲染您的浏览器 HTML-5 实现的日期选择器,它要求格式为 yyyy-MM-dd(ISO 格式)。

    将属性改为

    [DataType(DataType.Date)]
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")
    public DateTime date { get; set; }
    

    这将在浏览器文化中显示日期

    你也可以使用

    @Html.TextBoxFor(m => m.date, "{0:yyyy-MM-dd}", new { @type = "date" })
    

    如果您不想更改将在 DisplayFor() 方法中使用的格式。

    另请注意,type="date" 仅在 Chrome 和 Edge 中受支持

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多