格式化MVC3中的日期时间

时间:2011-09-18 02:11:55

标签: asp.net-mvc-3 datetime

以下是我的viewModel中的Datetime属性,我想在View上只显示日期, 任何人都可以帮我格式化这个。现在我看到01/01/2010 12:00:00 AM

   public DateTime ModifiedDate
    {
        get
        {
            return Region.ModifiedDate;
        }
        set
        {
            Region.ModifiedDate = value;
        }
    }

 @Html.TextBoxFor(model => model.ModifiedDate)

2 个答案:

答案 0 :(得分:4)

模型

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:MM/dd/yyy}" )]
public DateTime RecipeDate{ get; set; }

修改模板

@model DateTime 
@Html.TextBox("", string.Format(ViewData.TemplateInfo.FormattedModelValue.ToString(), Model), new { @class = "date" })

EditorFor不允许使用自定义属性,必须使用TextBox或TextBoxFor

答案 1 :(得分:0)

我创建了一个编辑器模板(位于我的解决方案的Shared \ EditorTemplates文件夹中),如下所示:

@model System.DateTime?
@Html.TextBox("", Model.HasValue ? Model.Value.ToString("MM/dd/yyyy") : string.Empty, new { @class = "date"})

然后当我想使用它时,

@Html.EditorFor(model => model.RecipeDate, new { @class = "date" })
@Html.ValidationMessageFor(model => model.RecipeDate)

似乎对我来说效果很好。