当我在我的视图中使用此代码时:
@Html.EditorFor(model => model.DateAdded)
我得到的格式如下:
14-10-2012 11:44:34
现在我想只显示日期和格式。
2012-10-14
所以我想我会使用EditorTemplate
但是在EditorTemplate
我从头开始/我从没有HTML开始,我必须最终呈现这个(当我使用这个代码@Html.EditorFor(model => model.DateAdded)
时,这是.Net呈现的内容:< / p>
<input class="text-box single-line" data-val="true" data-val-date="The field DateAdded must be a date." data-val-required="The DateAdded field is required." id="DateAdded" name="DateAdded" type="datetime" value="14-10-2012 11:44:34" />
我可以以某种方式阻止自己复制所有这些代码(<input class="text-box single-line" data-val="true" data-val-date="The field DateAdded must be a date." data-val-required="The DateAdded field is required." id="DateAdded" name="DateAdded" type="datetime"
),因为框架将来可能会更改它,然后我的模板会被那个(旧的)代码所困扰。
所以我想在编辑器模板中说的是:做你通常做的所有事情,除了以不同方式格式化DateTime输入的值。
这可能吗?
输入这个我意识到我已经假设我要在@Html.EditorFor
方法中更改DateTime的格式,我要创建一个EditorTemplate。这个假设是否正确?
答案 0 :(得分:3)
所以我以为我会使用EditorTemplate
如何使用[DisplayFormat]
属性修饰视图模型属性:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd-MM-yyyy}")]
public DateTime DateAdded { get; set; }
输入这个我意识到我已经做出了让我改变的假设 @ Html.EditorFor方法中的DateTime格式,我要创建一个 EditorTemplate。这个假设是否正确?
是的,这是改变格式的一种方法。另一种方法是使用DisplayFormat属性。