直接在TextArea上更改日期显示格式

时间:2017-08-04 18:07:31

标签: c# asp.net-mvc-5 html-helper

我想知道是否有任何方法可以直接更改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属性,但我无权修改模型或使用元数据

所以我的问题是,是否有任何方法可以将格式应用于textarea,就像使用textboxfor一样?

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

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

注意:我的最后一种情况是,我必须在显示之前使用c#代码修改模型内容,但这对我来说感觉不对,并且将我的代码与设计混合是一种不好的做法

1 个答案:

答案 0 :(得分:0)

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

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

如链接所示,TextAreaFor唯一可能的重载与模型有关,并且它们都不能接受属性来更改格式化