我正在使用Entity Framework。我在数据库中存储了一条记录。 当我编辑记录时,我看不到日期,而是显示日期选择器日历,默认输入为" mm / dd / yyyy"
以下是View in View文件。
@Html.EditorFor(model => model.starting_date, new { htmlAttributes = new { @class = "form-control", Type = "date" } })
模特课程:
public partial class ProjectStatus
{
public int project_status_id { get; set; }
public Nullable<System.DateTime> starting_date { get; set; }
}
答案 0 :(得分:0)
您正在获取默认浏览器数据选择器,因为您已添加
键入=&#34;日期&#34;在你的HtmlEditorFor
public partial class ProjectStatus
{
public int project_status_id { get; set; }
[DisplayName("Starting Date")]
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
public DateTime? starting_date { get; set; }
}
这是调用默认浏览器支持的日期选择器。
我建议您使用viewmodel而不是您正在进行的域模型。
按如下方式更改您的模型类(我也为您的属性提供了一个很好的UI名称)
@Html.TextBoxFor(model => model.starting_date, new { htmlAttributes = new { @class = "form-control" } })
然后使用TextBoxFor并删除Type =&#34; date&#34;
public partial class ProjectStatus
{
public int project_status_id { get; set; }
[DisplayName("Starting Date")]
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
[DataType(DataType.Date)]
public DateTime? starting_date { get; set; }
}
如果您真的想支持html5类型声明,可以将它添加到您的模型类中,如此
$(document)
.ready(function () {
$("input[type=date]")
.datepicker({ dateFormat: "mm/dd/yy", changeYear: true })
.attr("type", "text");
});
您可以将jQuery日期选择器与日期字段一起使用
{{1}}
这会将日期选择器附加到输入字段的每个实例,其中html5类型设置为日期。
您需要在项目和页面中引用jquery和jquery ui