我正在渲染一个包含 DateTime 值的输入控件:
[DataType(DataType.Date)]
public DateTime? ScheduledDateTime { get; set; }
应用于输入的格式存储为用户偏好,该偏好在运行时从数据库中检索。
所以,我在运行时得到了以下值:
YYYY-MM-DD
不考虑实际的格式,我怎么能告诉我的模型活页夹按照指定的格式格式化 DateTime?我发现的所有示例都依赖于设置 DateFormatString 属性,但这只能使用编译时间常数进行设置。这使它无法用于我的目的。
覆盖默认模型绑定器的东西?任何人都有一个例子,我无法打开谷歌搜索。
编辑:也许我创建了一个新的 HtmlHelper 来处理运行时的转换?
EDIT2:很确定我会这样做。请原谅过于冗长的命名约定:
<%= Html.TextBoxFor(model => model.ScheduledDateTime, string.Format("{0:" + User.GetDateFormatStringAsCSharpFormat(SessionManager.Default.User.DateFormat)+ "}", Model.ScheduledDateTime))%>