. EditorFor
gibi, "templated helper" olarak adlandırılan şey. Başka bir deyişle, işledikleri, değiştirilebilen bir şablon tarafından kontrol edilir. Önemli olarak, bu yöntemlerin her ikisi için de, belgelerine MSDN'de bakarsanız, normal olan parametrenin, diğer yardımcılarla htmlAttributes
'a karşılık geldiğini görürsünüz, bunun yerine bu ikisi ile birlikte additionalViewData
'u belirtir. Bunun nedeni, yine, çıkışlarının, esas olarak ViewData
alan görünümleri tarafından denetlenmesidir. Ayrıca, DisplayFor
özellikle, varsayılan şablonlar hemen hemen hiç HTML olmadan, değeri çıkarırlar. Örneğin bir string özelliğini iletirseniz, çıktı bu dizenin değeri ve başka hiçbir şey değildir. Bu nedenle, HTML özniteliklerini bağlayabilmeniz için hiçbir şey yoktur, bunları iletseniz bile.
Yapmaya çalıştığınız şeyi yapmak istiyorsanız, özel ekran şablonları oluşturmanız gerekir. Bu types adını incelemeler ekleyerek yapılabilir (örneğin String
, Boolean
, Byte
vs.) ya da DataType
enum (CreditCard
, EmailAddress
vs.) üyeleri Views\Shared\DisplayTemplates
için. Örneğin, Views\Shared\DisplayTemplates\String.cshtml
'da bir görünüm oluşturduysanız, string
türünde bir özelliği olan DisplayFor
aradığınızda, bu görünüm onu oluşturmak için kullanılabilir. Daha sonra, aksi takdirde seçtiğiniz bazı HTML'de doğrudan çıkacak değeri sarın ve uygun HTML niteliklerini uygulamak için ViewData
'u kullanın. Örneğin:
<span class="@ViewData["class"]">@ViewData.TemplateInfo.FormattedModelValue</span>
http://stackoverflow.com/questions/11655810/how-do-i-edit-the-css-of- -html-displayfor-method-in-mvc-3 – AAlferez