2011-02-02 2 views
4

Можно ли добавить класс CSS из DataAnnotations (метаданные), когда я использую Html.EditorForModel() - без пользовательского шаблона ...Добавление класса CSS к полю из DataAnnotations MVC 3

Что-то вроде этого [ТипДанных (CssClass = "DateTime")]

public class TestInput 
{ 
    [Required(ErrorMessage = "Name is required.")] 
    public string Name { get; set; } 

    [Required, StringLength(500)] 
    [DataType(DataType.MultilineText)] 
    public string Description { get; set; } 

    [Required] 
    [DataType(CssClass = "DateTime")] 
    public DateTime Date { get; set; } 

    [HiddenInput(DisplayValue = false)] 
    public int Id { get; set; } 
} 

Вот ссылка на то, что я имею в виду: http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-2-modelmetadata.html

ответ

1

это интересная идея. Не знаете, как реализовать реализацию этого атрибута, но я должен сказать, что это возможно, когда вы можете делать такие вещи, как Display(Name="Display Name").

Не знаете, почему вы против шаблонов. Пока такая вещь не будет создана, я думаю, что ваш лучший вариант - создать EditorTemplate для настраиваемого типа, например «MyDateTime», и использовать UIHint для указания. Одна строка помощника HTML может установить класс, которым вы пользуетесь. Не лучший подход для чего-то столь же простого, как классы/повторное использование, но пока нет.

Смежные вопросы