0

現在、ASP.NET MVC アプリケーション内で日付形式を設定しようとしています。

これを達成するために次のコードを使用しています

モデル:

[DataType(DataType.Date), DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode=true)]
public Nullable<System.DateTime> Date_Of_Birth { get; set; }

見る:

<div class="editor-field">
            @Html.EditorFor(model => model.Date_Of_Birth)
            @Html.ValidationMessageFor(model => model.Date_Of_Birth)
        </div>

これは、「詳細」モードで期待どおりに機能します。ただし、「編集」モードに入ると、フィールドは次のように表示されます

ここに画像の説明を入力

目的の日付形式がテキスト ボックスに表示され、デフォルトの日付ピッカーのように見えます。これは明らかに私が探していたものではありません。日付を正しくフォーマットしたかっただけです。jQuery日付ピッカーも使用する予定だったので、デフォルトの日付ピッカーもあまり必要ありません。

誰にもこれに対する解決策がありますか?

4

1 に答える 1

0

最も簡単な解決策 (日付のすべての編集フィールドを同じに見せたいと仮定した場合) はHtml.EditorFor()、タイプのオブジェクトのテンプレートを置き換えることDateTimeです。そうすれば、必要な動作をテンプレート自体に組み込むことができるため、ビュー ロジックをビュー レイヤーに保持することもできます。

これを行う基本的な方法は、というファイルを作成しDateTime.cshtml(WebForms ビュー エンジンを使用している場合だと思いDateTime.ascxますが、Razor を使用している場合...) ~/Views/Shared/EditTemplates、.

Brad Wilsonのブログに優れたガイドが掲載されているので、チェックすることを強くお勧めします。

于 2013-03-27T23:11:01.613 に答える