Asp.net mvc 3 在MVC3中设置日期时间到日期的格式

Asp.net mvc 3 在MVC3中设置日期时间到日期的格式,asp.net-mvc-3,datetime,Asp.net Mvc 3,Datetime,下面是Datetime视图模型中的属性,我只想在视图中显示日期, 有人能帮我格式化这个吗。现在我看到的是2010年1月1日凌晨12:00:00 public DateTime ModifiedDate { get { return Region.ModifiedDate; } set { Region.ModifiedDate = value;

下面是Datetime视图模型中的属性,我只想在视图中显示日期, 有人能帮我格式化这个吗。现在我看到的是2010年1月1日凌晨12:00:00

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

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

我创建了一个编辑器模板(位于解决方案中的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)

对我来说似乎工作得很好。

我创建了一个编辑器模板(位于我的解决方案中的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)
对我来说似乎很有效。

模型

[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或TextBox for

模型

[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

的可能重复项的可能重复项。您是否必须使用@Html.EditorFor而不是@Html.TextBoxFor?@Sergio?是的,这是正确的。当我输入文本框的时候,我的大脑中有一个“文本框”,因为这就是OP在问题中所做的。我编辑了我的答案,谢谢你抓住它。它正在工作,但我想使这个编辑器字段只读。。。有没有办法…尝试了这个Html.EditorFor(model=>model.ModifiedDate,new{style=“width:120px”,readonly=“readonly”})但仍然不起作用…你不需要使用@Html.EditorFor而不是@Html.TextBoxFor吗?@Sergio-是的,这是正确的。当我输入文本框的时候,我的大脑中有一个“文本框”,因为这就是OP在问题中所做的。我编辑了我的答案,谢谢你抓住它。它正在工作,但我想使这个编辑器字段只读。。。有没有办法…尝试了这个Html.EditorFor(model=>model.ModifiedDate,新的{style=“width:120px”,readonly=“readonly”})但仍然不起作用。。。