1

エディタ テンプレートを上書きすることは可能ですか?

モデルに DateTime フィールドがあり、到着日/出発日に使用されます。これらは次の EditorTemplate を使用してレンダリングされます。

@model Nullable<System.DateTime> 

@if ( Model.HasValue ) { 
   @Html.TextBox( "" , String.Format( "{0:dd/MM/yyyy}" , Model.Value ) , new  { @class = "datepicker span2" } ) 
} 
else { 
   @Html.TextBox( "" , String.Format( "{0:dd/MM/yyyy}" , DateTime.Now ) , new { @class = "datepicker span2" } ) 
} 

...日時フィールドをフォーマットします。例: 01/08/2012

ただし、別のフィールドで、予約が行われた日付と時刻も表示したいと思います。

22/07/2012 08:23

私のモデルは次のとおりです。

    public DateTime Arrival { get; set; }
    public DateTime Departure { get; set; }
    public DateTime TimeBooked { get; set; }

TimeBooked にも時間を表示したいのですが、Editor Template は明らかに日付だけを表示します。

これはオーバーライドできますか? または、これを行う別の方法はありますか?

ありがとうございました、

マーク

4

3 に答える 3

11

時間も表示する別の名前付きエディターを追加し、次のようにテンプレート名を 2 番目のパラメーターとして受け入れる EditorFor のオーバーロードを使用できます。

EditorFor(m=>m.TimeBooked, "DateWithTimeTemplate")

MSDN ヘルプ

于 2012-07-22T10:02:51.127 に答える
4

UIHintAttribute属性を使用して行うことができます。TimeBookedこの属性でプロパティを装飾して、 MVCが使用するエディターを認識できるようにすることができます。

于 2012-07-22T09:57:05.803 に答える
0

はい、hh:mmプレースホルダーを追加することでそれを行うことができます..

String.Format("{0:d/M/yyyy HH:mm:ss}", DateTime.Now)

その他の例については、こちらを参照してください。

于 2012-07-22T09:45:34.477 に答える