我想知道是否有任何方法可以直接更改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#代码修改模型内容,但这对我来说感觉不对,并且将我的代码与设计混合是一种不好的做法
答案 0 :(得分:0)
在搜索有时并查看文档后(感谢@StephenMuecke提供线索)TextAreaFor
只是选择了支持格式化的任何选项,只是在显示日期之前使用代码,以便时间没有显示出来。
我在这个msdn链接上查看了textarea显示的大多数重载和选项: https://msdn.microsoft.com/en-us/library/system.web.mvc.html.textareaextensions(v=vs.118).aspx
如链接所示,TextAreaFor唯一可能的重载与模型有关,并且它们都不能接受属性来更改格式化