私はカスタムクラス名が必要なので、DateTimeテンプレートをオーバーライドしようとしています。テンプレートにメタタグを尊重する方法は?
だから私はdatetime.cshtml私の見解モデルで
@model System.DateTime
@Html.TextBox("", Model, new { @class = "date-picker" })
//
[DataType(DataType.Date)]
public DateTime Date { get; set; }
だから私はそれがちょうど私のメタタグを使用して作成する方法を確認していない/私のedittemplatesでこれを持っており、日付のみを使用してください。はい、私はそれをハードコードでき、Mode.ToShortDate()を持っているかもしれませんが、たぶんToLongdate()を1回したいと思うかもしれません。
編集
私は人々が混乱してきていると思います。最初に、クラス名を無視して、なぜ私がデフォルトのdatetimeをオーバーライドしているのかを示すために、クラス名を無視しました。
これらのクラス名をハードコードすることは私の解決策ではないように思えます。なぜ私は本当にこれらのテンプレートを使用したいのかと思っているのですが、代わりにtextboxfor()を使用します。
問題は、「日付」部分だけを表示したいので、「日付」を文字列に変更する必要があります。だから私は後でdatetimeに文字列を変換する必要があるので、私はそれを私のdbに挿入することができます。テンプレートを使用すると、それをdatetimeのままにしてコンバージョンを保存できます。
私にとっては、すべてのdatetimeに同じクラス名と同じhtmlプロパティが必要だと思うのは変です。これらのeditorFor()は実際にhtmlプロパティを取ります。
第2の私の全投稿はこれでした。
私はdatetime型のテンプレートをオーバーライドして、この
[DataType(DataType.Date)]
public DateTime Date { get; set; }
をしない場合は、レンダリングされた結果は、日付のみの一部が表示されます。今私はdatetimeをオーバーライドするので、私はそれに私のカスタムのものを追加することができますし、私はそれがメタタグを尊重しない完全なdatetimeをレンダリングする上記のことを行う。
私の質問はどのようにしてメタタグを使用するのですか?私が持っているすべての日付フィールドが日付だけを表示するわけではないので。だから、そのようなものをテンプレートにハードコーディングするのはダメだろう。
これは本当に動作しますに属性? MVCはToLongDateString()の呼び出しに基づいてテンプレートを識別できますか? – mare
ToLongDateString()の呼び出しではなく、[UIHint]属性で指定しているテンプレートの名前です。この例では、Views/EditTemplatesで "ToLongDate"という名前のテンプレートを探します。私はそれを何とか呼び出せたかもしれませんが、解決していた問題に関連したものにしておきたいと思っていました。それで、 "ToShortDate"という別のテンプレートを作成することができます。 – davidferguson
そして、私はこれを行うには最適な方法だと思っていません。もし誰かがいつかドイツ、イギリス、アメリカ、日本の日付フォーマットはサポートされますか? * n *個のテンプレートを作成しますか? @ Html.Text( ""、Model.ToLongDateString()、...)の – mare