无法使用数据注释设置日期时间格式在MVC 4 [英] Unable to set datetime format in MVC 4 using data annotations

查看:214
本文介绍了无法使用数据注释设置日期时间格式在MVC 4的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我会尝试一切,但没有工作这( DD / MM / YYYY )日期格式,这始终门的 MM / DD / YYYY

  [显示(NAME =发布日期)]
[数据类型(DataType.DateTime)
[DisplayFormat(ApplyFormatInEditMode = TRUE,DataFormatString ={0:DD / MM / YYYY})]
公众可空<&日期时间GT; RELEASE_DATE {搞定;组; }

的Razor视图

  @ Html.EditorFor(型号=> model.release_date)

使用日期时间模板。

  @model可空<&System.DateTime的GT;
@if(Model.HasValue)
{
    @ Html.TextBox(,的String.Format({0:DD / MM / YYYY},Model.Value))
}
其他
{
    @ Html.TextBox(,的String.Format({0:DD / MM / YYYY},DateTime.Now))
}
@ {
    字符串名称= ViewData.TemplateInfo.HtmlField preFIX;
    串ID = name.Replace(,_,。);
}
<脚本类型=文/ JavaScript的>
    $(文件)。就绪(函数(){
        $(#@ ID)。日期选择器({
                DATEFORMAT:DD / MM / YY,
                showStatus:真实,
                showWeeks:真实,
                highlightWeek:真实,
                NUMBEROFMONTHS:1,
                showAnim:规模,
                showOptions:{
                    产地:[顶,左]
                }
          });
    });
< / SCRIPT>


解决方案

您错过了这里两件事情:

  DataFormatString ={0:DD / MM / YYYY}; //这是DD / MM / YYYY而不是DD / MM / YYYY

和您还需要:

  ApplyFormatInEditMode = TRUE

尝试使用这样的:

  [显示(NAME =发布日期)]
[数据类型(DataType.Date),DisplayFormat(DataFormatString ={0:DD / MM / YYYY},ApplyFormatInEditMode = TRUE)]
公众可空<&日期时间GT; RELEASE_DATE {搞定;组; }

I will try everything but not working this(dd/MM/yyyy) date format, this always gate mm/dd/yyyy

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

Razor view

@Html.EditorFor(model => model.release_date)

Using DateTime Template.

@model Nullable<System.DateTime>
@if (Model.HasValue)
{
    @Html.TextBox("", String.Format("{0:dd/MM/yyyy}", Model.Value))
}
else
{
    @Html.TextBox("", String.Format("{0:dd/MM/yyyy}", DateTime.Now))
}
@{
    string name = ViewData.TemplateInfo.HtmlFieldPrefix;
    string id = name.Replace(".", "_");
}
<script type="text/javascript">
    $(document).ready(function () {
        $("#@id").datepicker({
                dateFormat: "dd/mm/yy",
                showStatus: true,
                showWeeks: true,
                highlightWeek: true,
                numberOfMonths: 1,
                showAnim: "scale",
                showOptions: {
                    origin: ["top", "left"]
                }
          });
    });
</script>

解决方案

You missed 2 things here:

DataFormatString="{0:dd/MM/yyyy}"; //It is dd/MM/yyyy instead of dd/mm/yyyy

and you also need:

ApplyFormatInEditMode=true

Try to use this:

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

这篇关于无法使用数据注释设置日期时间格式在MVC 4的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆