C# 如何设置DateTime的格式,使其在Razor生成的视图中仅显示为一天中的时间?

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

我提供的完整日期时间位于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 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]