我有一个@ Html.TextboxFor并且它连接到datepicker类,它还显示数据库的日期。如何以错误的格式显示日期。当数据库显示日期时,这是日期格式错误的唯一时间。
@Html.TextBoxFor(model => model.AdvertiserSignDate, new { id = "txtAdvDate", @readonly = "true", @class = "DatePicker" })
下面的代码以正确的格式显示日期,但只显示在文本框下方的一行。
@(Model == null ? string.Empty : String.Format("{0:dd MMM yyyy}", Model.AdvertiserSignDate))
我想将上面一行的格式添加到第一行,以便我的文本框以正确的格式显示日期,并具有日期选择器的功能。
如何合并这两行代码?
答案 0 :(得分:2)
尝试这可能有帮助
[DisplayName("Advertiser Sign Date")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime AdvertiserSignDate { get; set; }
@Html.EditorFor(model => model.AdvertiserSignDate)
答案 1 :(得分:2)
试试这个
@Html.TextBoxFor(model => model.AdvertiserSignDate, new { id = "txtAdvDate", @readonly = "true", @class = "DatePicker", @Value = (Model == null ? string.Empty : Model.AdvertiserSignDate.ToString("dd MMM yyyy")) })
修改强>
如果AdvertiserSignDate
可以为空,则DateTime执行此操作
@Html.TextBoxFor(model => model.AdvertiserSignDate, new { id = "txtAdvDate", @readonly = "true", @class = "DatePicker", @Value = (Model == null || Model.AdvertiserSignDate == null? string.Empty : Convert.ToDateTime(Model.AdvertiserSignDate).ToString("dd MMM yyyy")) })
答案 2 :(得分:1)
这很有效。
@Html.TextBox("AdvertiserSignDate", String.Format("{0:dd MMM yyyy}", Model.AdvertiserSignDate), new { id = "txtAdvDate", @readonly = "true", @class = "DatePicker" })