3

DateTime プロパティを持つモデルがあります。

[DisplayName("Updated")]
public DateTime lastUpdatedDate { get; set; }

現時点では、ビューで日時の書式設定を誤って処理していると思います。

<tr>
    <td>@Html.LabelFor(m=>m.lastUpdatedDate)</td>
    <td>@Html.Label(Model.lastUpdatedDate.ToLongDateString())</td>
</tr>

これは間違っていると確信しています。まず、モデルで書式設定を行い、文字列を返す必要があります (日付を表示するために使用されるモデルでは、Update モデルにはコントロールの DateTime タイプが必要です)。しかし、複雑になります - タイムゾーン。取得時にモデルの日時の値を (ユーザーが登録時に選択したタイムゾーンに基づいて) 操作する必要があります。.. もの?(何と呼ばれていますか? ゲッター?? へへ)。

MVC を学びながら、自分のコードを使いやすいものにしようとしています。

4

1 に答える 1

1

タイムゾーンをエレガントに扱いたい場合は、この回答を読むことをお勧めします。モデルの DateTime プロパティを簡単にフォーマットするには、[DisplayFormat] 属性で装飾します。

[DisplayName("Updated")]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime lastUpdatedDate { get; set; }

そしてあなたの見解では:

@Html.DisplayFor(x => x.lastUpdatedDate)
于 2012-09-11T11:19:46.230 に答える