2011-11-09 15 views

cevap

33

bir görüntüleme veya Editör şablonunu kullanarak, UIHint hangi şablonun bunu söyleyecektir:

[UIHint("SomeTemplate")] 
public class MyViewModel 
{ 
    public string SomeProperty { get; set; } 
} 

Views'tan SomeTemplate.ascx (sen beri MVC2) olarak adlandırılan bir görüntü şablonu oluşturursanız/Ortak/

@Html.DisplayForModel() // if Model is MyViewModel 

veya

@Html.DisplayFor(m => m.ModelProperty) // if ModelProperty is of type MyViewModel 
0123: DisplayTemplates veya Görüntüleme/{Kontrolör}/DisplayTemplates o zaman yaptığın şablonu kullanacak

düzenlemek
bir özellik seviyede buna belirtmek istiyorsanız: Sen/Görüntüleme/Paylaşılan veya/Görüntüleme birinde DisplayTemplates veya EditorTemplates klasöründe Doğum adı verilen bir gösterge/editör şablonu oluşturabilir

public class MyViewModel 
{ 
    [UIHint("Birthday")] 
    public DateTime DateOfBirth { get; set; } 
} 

/{Kontrol}. Sonra bunu yaptığında:

@Html.DisplayFor(m => m.DateOfBirth) 

veya

@Html.EditorFor(m => m.DateOfBirth) 

O UIHint

belirtilen şablonu kullanacak
+0

Teşekkür !! Ancak Özellik seviyesinde nasıl belirtilir? .. daha net bir temsili varsa lütfen – user1030181

+1

Dang it, tam olarak ne yapacağımı arayan bir saat harcadım. Neden bu özelliği bulmak için bunu zorlaştırıyorlar? – neminem

+2

Sadece sınıfta ve özelliklerde "sınıf" üzerinde kullanılamaz. – Mrchief

15
UIHint sadece Dismissile devletler olarak bir sınıf bildirimi üzerine bir mülk üzerinde kullanılabilir

. MVC3 kullanıyorum, bu MVC2'den değişmiş olabilir.

"Özellik 'UIHint'. Bu deklarasyon tipine geçerli değil O 'özelliği dizinleyiciye, alanın' beyanlarına geçerlidir" Büyük Yanıt