0

我目前正在尝试在我的 ASP.NET MVC 应用程序中设置日期格式。

我正在使用以下代码来完成此操作

模型:

[DataType(DataType.Date), DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode=true)]
public Nullable<System.DateTime> Date_Of_Birth { get; set; }

看法:

<div class="editor-field">
            @Html.EditorFor(model => model.Date_Of_Birth)
            @Html.ValidationMessageFor(model => model.Date_Of_Birth)
        </div>

这在“详细信息”模式下按预期工作。但是,当我进入“编辑”模式时,该字段显示如下

在此处输入图像描述

所需的日期格式以及看起来像默认日期选择器的内容出现在文本框中。这显然不是我想要的。我只是希望日期的格式正确。我还计划使用 jQuery 日期选择器,所以我也不想使用默认日期选择器。

有人对此有解决方案吗?

4

1 回答 1

0

最直接的解决方案(假设您想让日期的所有编辑字段看起来都一样)是替换Html.EditorFor()类型对象的模板DateTime。这样您就可以在模板本身中构建您想要的任何行为,从而也将视图逻辑保留在视图层中。

做到这一点的基本方法是创建一个名为DateTime.cshtml(我认为 - 这是DateTime.ascx在使用 WebForms 视图引擎时,但您正在使用 Razor...)并将其放在~/Views/Shared/EditTemplates.

布拉德威尔逊在他的博客上有一个很好的指南,我强烈建议你去看看。

于 2013-03-27T23:11:01.613 回答