1

カスタム EditorFor DateTime を作成し、クラス名をテキスト ボックスに追加しました。

@model DateTime
@Html.TextBoxFor(m => m, new {  @class = "date-time-picker" })

jquery datepickerをクライアント側に接続できるように

$("input.date-time-picker").datetimepicker();

問題は、

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:g}")]

属性を機能させるには、組み込みの EditorFor を使用する必要があります (または、モデルのメタデータを抽出して自分で同じことを行います)。デフォルトの EditorFor をオーバーライドする最良の方法は何ですか。クラス名を追加し、組み込みの editorfor を呼び出して使用できるようにします。DisplayFormat属性_

4

1 に答える 1

1

(質問編集でOPが回答した質問。コミュニティwikiの回答に変換されました。回答がない質問を参照してください。ただし、コメントで問題が解決されました(またはチャットで拡張されました)

OP は次のように書いています。

私はこれで解決しましたが、車輪の再発明のように感じます

@model DateTime  
@Html.TextBox("", string.Format(ModelMetadata.FromLambdaExpression(x => x, ViewData).DisplayFormatString, Model), new { @class = "date-time-picker" })
于 2015-01-28T20:01:10.750 に答える