1

次のコードでは、model.StartDate にある完全な DateTime を提供しています。

@Html.DisplayFor(model => model.StartDate.ToString("hh:mm tt"),
CultureInfo.CreateSpecificCulture("hu-HU"));

私の目標は、完全な DateTime を取ることです

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.

なぜこのエラーが発生するのですか?


注: このドキュメントを参照して、DateTime の .ToString をフォーマットしました: http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

4

2 に答える 2

4

モデル クラスに DataAnnotation を配置できます。このようなもの - > [DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)].

于 2012-08-30T17:15:28.657 に答える
1

書式設定された日付を返す新しいプロパティをモデルに作成します。

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);
于 2012-08-30T17:07:35.997 に答える