1

私は DateTime プロパティを持つモデルを持っています:

    public DateTime? DateNaissance { get; set; }

プロパティの @Html.TextBoxFor を持つビュー

@Html.TextBoxFor(model => model.DateNaissance)

私が望むのは、入力された日付を取得することだけですが、日付として 01/06/2012 を入力すると、コントローラーに「01/06/2012 00:00:00」が表示されます

私が欲しいのは、日付を取得することだけです。なぜ時間が追加されるのですか?自動的に削除する方法は?

私は成功せずに試しました:

[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]

ありがとう

4

2 に答える 2

4

ApplyFormatInEditMode属性のプロパティDisplayFormatを trueに設定し、EditorFor代わりに次を使用する必要がありますTextboxFor

[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]    

@Html.EditorFor(model => model.DateNaissance)

アップデート

すべての日付に対してこれを行う必要がある場合は、DateTime.cshtml というファイルを \Views\Shared\EditorTemplates\ に配置して、これを含めることもできます。

@model DateTime?
@Html.TextBox("", (Model.HasValue ? Model.Value.ToString("dd/MM/yyyy") : string.Empty))

を使用すると、DateTimes に「dd/MM/yyyy」が使用されますEditorFor

于 2012-06-24T16:27:13.663 に答える
0

オブジェクトが DateTime 型であるため、常に時刻を取得できることは言うまでもありません。日付のみを使用する場合は、コントローラーで DateNaissance.Date を使用して日付部分のみを取得する必要がありますが、オブジェクトには常に時刻部分が含まれます。

于 2012-06-24T16:26:25.800 に答える