2011-08-16 25 views
5

MVC model sınıflarımda bazı DateTime alanları var. Bunlardan bazıları Tarih girişi ve Giriş zamanı gerektiren diğer özellikler gerektirir, ancak her ikisi de DateTime özellikleridir.MVC3'te aynı türde birden fazla EditorTemplates olması mümkün mü?

DateTime için bir EditorTemplate'e sahip olmak, bir şekilde tarihler olması beklenen özelliklere ve bir zaman seçici olması gereken özelliklerin zaman aralığı oluşturmasına neden olabilir mi?

cevap

9

Evet, burada bir yoludur: favori görünüm motorunu kullanmak şablon dosyaları oluşturmak, ~/Views/Shared/EditorTemplates (veya ~/Views/Shared/DisplayTemplates yılında

(örnek kullanır Jilet/C#)

dosya Date.cshtml

replace this with a real date picker 

dosya Time.cshtml

replace this with a real time picker 

Sonra ben n modeliniz: UIHint özellik adı Şablonunuzun dosya adıyla eşleşecek şekilde vardır ve zaten yoksa, uygun kullanarak deyim/derleme başvurusu gerekir böylece UIHint, System.ComponentModel.DataAnnotations içindedir

[UIHint("Date")] 
public DateTime DateProperty { get; set; } 

[UIHint("Time")] 
public DateTime TimeProperty { get; set; } 

. Alternatif

, sizin kez temsil edecek bir TimeSpan kullanmak - o onun TimeOfDay özelliği için DateTime döner ...

+0

Teşekkür Jon, bir denemede da vereceğiz budur. –

İlgili konular