-4

我正在使用 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.
4

3 回答 3

1

只有模型值可以像这样添加。因此,尽量不要将值设为 modal 并尝试按照您的意愿使用。这可能对你有帮助。

于 2013-11-25T06:22:30.977 回答
0

如果日期可以为空,您最好使用

someDate.Value.ToShortDateString();

更好:

someDate.GetValueOrDefault().ToShortDateString();

如果您不想返回任何日期,如果someDate是,null那么您应该执行以下操作:

if(someDate.HasValue)
{
    someDate.Value.ToShortDateString();
}
于 2013-11-14T10:09:43.187 回答
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)

我从以下链接获得参考。 格式化日期 TextBoxFor

于 2014-11-07T09:42:53.090 回答