【问题标题】:MVC date format issue in edit mode编辑模式下的 MVC 日期格式问题
【发布时间】:2013-03-27 23:04:07
【问题描述】:

我目前正在尝试在我的 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 日期选择器,所以我也不想使用默认日期选择器。

有没有人可以解决这个问题?

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

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

    执行此操作的基本方法是创建一个名为 DateTime.cshtml 的文件(我认为 - 在使用 WebForms 视图引擎时是 DateTime.ascx,但您使用的是 Razor...)并将其放在 ~/Views/Shared/EditTemplates .

    Brad Wilson 有一个 excellent guide on his blog,我强烈建议您查看。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-11
      • 1970-01-01
      • 2013-08-18
      • 2015-01-15
      • 1970-01-01
      相关资源
      最近更新 更多