直接更改TextAreafor上的日期显示格式

Change Date display format on TextAreafor directly

我想知道是否有任何方法可以直接更改 TextAreaFor 中显示的日期格式。我知道这个话题已经被问了很多,我的问题可能看起来与这两个相似:

MVC DateTime Textbox Formatting Issue

How do you format a DateTime that's displayed by TextBoxFor() in MVC3?

但我会解释为什么不同。 这是 textarefor :

@Html.TextAreaFor(m => m[i].DateFormation, new { @class = "textArea" })

就像我上面链接的问题一样,我可以将 DisplayFormat 属性放在该字段上,但我无权修改模型或使用元数据

所以我的问题是,是否有任何方法可以像使用文本框一样将格式应用于文本区域?

@Html.TextBoxFor(m => m[i].DateFormation, "{0:yyyy-MM-dd}", new { @class = "textArea" })

我尝试将 .ToString 应用到我的字段,但 TextAreafor 似乎不接受它

注意:我的最后一个案例是我必须在显示之前用视图中的 C# 代码修改模型内容,但这对我来说感觉不对,而且将我的代码与设计混合在一起是一种不好的做法

在搜索 Sometimes 并查看文档后(感谢@StephenMuecke 提供的线索)TextAreaFor 只是没有任何支持格式化的选项,所以我只能在显示日期之前使用代码,这样未显示时间。

我查看了此 msdn link 上为 textarea 显示的大多数重载和选项: https://msdn.microsoft.com/en-us/library/system.web.mvc.html.textareaextensions(v=vs.118).aspx

并且如 link 所示,TextAreaFor 唯一可能的重载与模型有关,其中 none 可以接受 属性 来更改格式