C# 如何设置DateTime的格式,使其在Razor生成的视图中仅显示为一天中的时间?
我提供的完整日期时间位于model.StartDate,代码如下:C# 如何设置DateTime的格式,使其在Razor生成的视图中仅显示为一天中的时间?,c#,asp.net-mvc,asp.net-mvc-3,datetime,razor,C#,Asp.net Mvc,Asp.net Mvc 3,Datetime,Razor,我提供的完整日期时间位于model.StartDate,代码如下: @Html.DisplayFor(model => model.StartDate.ToString("hh:mm tt"), CultureInfo.CreateSpecificCulture("hu-HU")); 我的目标是全职约会 8/30/2012 11:33:48 AM 并仅显示 11:33:48 AM 但是,我得到以下错误: Templates can be used only with field ac
@Html.DisplayFor(model => model.StartDate.ToString("hh:mm tt"),
CultureInfo.CreateSpecificCulture("hu-HU"));
我的目标是全职约会
8/30/2012 11:33:48 AM
并仅显示
11:33:48 AM
但是,我得到以下错误:
Templates can be used only with field access, property access,
single-dimension array index, or single-parameter custom indexer expressions.
为什么会发生这种错误
注意:我引用此文档是为了格式化my DateTime的.ToString:在模型上创建一个新属性,返回格式化的日期
public class MyModel
{
// Other fields including your current StartDate
public class StartDateFormatted
{
get
{
return StartDate.ToString("hh:mm tt"),
CultureInfo.CreateSpecificCulture("hu-HU"));
}
}
}
然后在Razor标记中使用该属性
@Html.DisplayFor(model => model.StartDateFormatted);
在模型上创建一个返回格式化日期的新属性
public class MyModel
{
// Other fields including your current StartDate
public class StartDateFormatted
{
get
{
return StartDate.ToString("hh:mm tt"),
CultureInfo.CreateSpecificCulture("hu-HU"));
}
}
}
然后在Razor标记中使用该属性
@Html.DisplayFor(model => model.StartDateFormatted);
您可以在模型类上放置DataAnnotation。类似这样的->[DisplayFormatDataFormatString={0:d},ApplyFormatInEditMode=true]。您可以在模型类上放置一个DataAnnotation。类似这样的->[DisplayFormatDataFormatString={0:d},ApplyFormatInEditMode=true]。作为参考,我需要的确切格式是:[DisplayFormatDataFormatString={0:h:mm tt},ApplyFormatInEditMode=true]作为参考,我需要的确切格式是:[DisplayFormatDataFormatString={0:h:mm tt},ApplyFormatInEditMode=true]