[英]Setting DateTime display format at runtime with MVC3
我正在渲染一個包含DateTime值的輸入控件:
[DataType(DataType.Date)]
public DateTime? ScheduledDateTime { get; set; }
應用於輸入的格式存儲為用戶首選項,該用戶首選項在運行時從數據庫中檢索。
所以,我在運行時得到以下值:
YYYY-MM-DD
實際的格式不能承受,如何告訴我的模型綁定器格式化指定的DateTime? 我發現的所有示例都依賴於設置DateFormatString屬性,但這只能使用編譯時常量設置。 這使得它無法用於我的目的。
有什么東西覆蓋默認的模型綁定器? 任何人都有一個例子,我還沒能把一個谷歌搜索。
編輯:也許我創建一個新的HtmlHelper將在運行時處理轉換?
編輯2:很確定我會這樣做。 原諒過於冗長的命名慣例:
<%= Html.TextBoxFor(model => model.ScheduledDateTime, string.Format("{0:" + User.GetDateFormatStringAsCSharpFormat(SessionManager.Default.User.DateFormat)+ "}", Model.ScheduledDateTime))%>
這使用Razor語法,但同樣的原則適用
@{
var dateFormat = (DateTime)Viewbag.PreferredDateFormatForUser //Just grab it from where ever you have it
}
@Html.TextBox("ScheduleDateTime", model.ScheduleDateTime.ToString(dateFormat))
以下是自定義日期時間格式字符串的參考
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.