1. ホーム
  2. asp.net-mvc

[解決済み】TextBoxFor()からは日付のみ。)

2022-04-01 17:18:03

質問

TextBoxFor<,>(expression, htmlAttributes)を使って、DateTimeの日付部分のみをテキストボックスに表示するのに苦労しています。

モデルはLinq2SQLに基づき、フィールドはSQL上とEntityモデル内のDateTimeです。

失敗しました。

<%= Html.TextBoxFor(model => model.dtArrivalDate, String.Format("{0:dd/MM/yyyy}", Model.dtArrivalDate))%>

このトリックは非推奨のようで、オブジェクト htmlAttribute の文字列値はすべて無視されます。

失敗しました。

[DisplayFormat( DataFormatString = "{0:dd/MM/yyyy}" )]
public string dtArrivalDate { get; set; }

詳細/編集ビューで、"00:00:00"の部分を除いて、日付部分のみを保存して表示したいのですが、どうすればよいですか?

どうすればいいですか?

[DisplayName("Start Date")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime StartDate { get; set; }

次に

<%=Html.EditorFor(m => m.StartDate) %>