3

我有代码。

模型

    [Required(ErrorMessage = "Bạn hãy nhập ngày tháng năm sinh")]
    [DataType(DataType.Date, ErrorMessage = "Ngày tháng năm sinh không chính xác, bạn hãy nhập lại")]
    [ValidationHelper.DateFormat(ErrorMessage = "Ngày tháng năm sinh không chính xác, bạn hãy nhập lại")]
    [DisplayFormat(DataFormatString = "{MM/dd/yyyy}")]
    [Display(Name = "Ngày sinh")]
    public System.DateTime DateOfBirth { get; set; }

看法

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>


@using (Html.BeginForm((string)ViewBag.FormAction, "Account"))
{
    <fieldset>
        <legend>Registration Form</legend>
        <ol>

            <li>
                @Html.LabelFor(m => m.DateOfBirth)
                @Html.EditorFor(m => m.DateOfBirth)
                @Html.ValidationMessageFor(m => m.DateOfBirth)
            </li>
        </ol>
    </fieldset>
}

当我输入 05/31/2012 => 值 '05/31/2012' 对 Ngày cấp CMT 无效。当我输入 31/05/2012 => 字段 Ngày cấp CMT 必须是日期。那是怎么回事?我来自越南。我的英语很差,但请帮助我!非常感谢!我的本地日期格式 yyyy/MM/dd

4

3 回答 3

2

尝试:

@item.Date.ToString("dd MMM yyyy")

或者您可以[DisplayFormat]在视图模型上使用该属性:

[DisplayFormat(DataFormatString = "{0:dd MMM yyyy}")]
pubilc DateTime Date { get; set }

在您看来,简单地说:

@Html.DisplayFor(x => x.Date)
于 2012-05-02T09:59:58.033 回答
2

DisplayFormat使用EditorFor,您需要添加ApplyFormatInEditMode以下内容:

[DisplayFormat(DataFormatString="{0:MM/dd/yyyy}", ApplyFormatInEditMode=true)]

于 2012-06-15T09:08:54.393 回答
0

您的日期似乎有一个显示格式:

[DisplayFormat(DataFormatString = "{MM/dd/yyyy}")]

如果您希望 31/05/2012 成为日期,您可以将显示格式更改为:

[DisplayFormat(DataFormatString = "{dd/MM/yyyy}")]
于 2012-05-02T10:00:29.507 回答