我正在使用Mvc 4.以下是我的代码。
@Html.Bootstrap().ControlGroup().DisplayTextFor(m => m.BirthdayDate).Label().LabelText(Person.Resources.Global.BirthDay);
显示包含日期和时间的数据。我想只显示日期。怎么做?
我已经尝试过BirthDay.value.ToShortDateString()和BirthDay.ToString(“dd / mm / yyyy”)。但这会产生错误,因为BirthDay是Nullable DateTime
如果我使用 BirthDay.value.ToShortDateString()和BirthDay.ToString(“dd / mm / yyyy”)和someDate.Value.ToShortDateString()
,我会收到以下错误Templates can be used only with field access, property access, single-dimension array index, or single-parameter custom indexer expressions.
答案 0 :(得分:1)
只能添加模型值。因此,尽量不要将无效值转换为模态并尝试使用您的愿望。这可能对你有所帮助。
答案 1 :(得分:0)
如果日期可以为空,则最好使用
someDate.Value.ToShortDateString();
更好:
someDate.GetValueOrDefault().ToShortDateString();
如果您不想在someDate
为null
时返回任何日期,那么您应该执行以下操作:
if(someDate.HasValue)
{
someDate.Value.ToShortDateString();
}
答案 2 :(得分:0)
抱歉,我忘了提及。我正在使用https://www.twitterbootstrapmvc.com/
如果对象可以为空,那么
对于普通的html助手,请使用如下,
标签 -
@Html.DisplayFor(t => t.YourDateObject, "{0:MM/dd/yyyy}")
文本框 - @Html.TextBoxFor(t => t.YourDateObject, "{0:MM/dd/yyyy}")
对于https://www.twitterbootstrapmvc.com/,请使用如下,
@Html.Bootstrap().ControlGroup().DisplayTextFor(m=>m.BirthdayDate).Format("0:dd/MM/yyyy}").Label().LabelText(Person.Resources.Global.BirthDay)
我从以下链接获得了参考。 Formatted Date TextBoxFor