TextBoxFor() からの日付のみ 質問する

TextBoxFor() からの日付のみ 質問する

TextBoxFor<,>(expression, htmlAttributes) を使用して、DateTime の日付部分のみをテキスト ボックスに表示する際に問題が発生しています。

モデルは Linq2SQL に基づいており、フィールドは SQL およびエンティティ モデル内の 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」部分を除いた日付部分のみを保存して表示したいと思います。

ベストアンサー1

MVC4 では、文字列形式のパラメータを受け取る新しいオーバーロードを追加することでこの問題を解決しましたTextBoxFor。次のように簡単に実行できます。

@Html.TextBoxFor(m => m.EndDate, "{0:d MMM yyyy}")

HTML 属性を受け取るオーバーロードもあるので、CSS クラスを設定したり、日付ピッカーを接続したりすることができます。

@Html.TextBoxFor(m => m.EndDate, "{0:d MMM yyyy}", new { @class="input-large" })

おすすめ記事