ASP.net MVC 3 Scaffolding [Display (Name = Hi there)] не будет работать

По какой-то странной причине я просто не могу правильно настроить свое представление на "скаффолд". Разве это не правильно, что атрибут [Display(Name="SomeThing")] используется для установки того, какой текст метки/заголовка таблицы должен отображаться для свойства ? Если да, то были ли у кого-то еще проблемы с этим? Если нет, то что мне тоже менять?

Заранее спасибо!


person Inx    schedule 20.12.2011    source источник
comment
Можете ли вы опубликовать свой код, пожалуйста?   -  person Jon Rea    schedule 20.12.2011
comment
К какому типу данных относится свойство, для которого у вас есть атрибут?   -  person James    schedule 20.12.2011
comment
это будет работать, если вы rebuild используете сочетание клавиш проекта ctrl+shift+B   -  person Vivek    schedule 18.04.2012


Ответы (2)


Фактически; Я знаю почему.

DisplayAttribute находится в пространстве имен System.ComponentModel.DataAnnotations и имеет другое назначение, чем DisplayNameAttribute в пространстве имен System.ComponentModel.

«DisplayAttribute» : «Предоставляет атрибут общего назначения, который позволяет указывать локализуемые строки для типов и членов разделяемых классов сущностей».

Вместо этого используйте [DisplayName("SomeThing")], и это сработает...

person Jon Rea    schedule 20.12.2011
comment
Вы можете использовать DisplayAttribute в пространстве имен System.ComponentModel.DataAnnotations, чтобы изменить отображаемую метку. - person James; 20.12.2011
comment
Ну... этот тип формирования шаблонов вообще работает для шаблона списка?.. все еще не работает.. - person Inx; 20.12.2011
comment
кажется, нет после нескольких минут гугления - person Inx; 20.12.2011
comment
@Inx Вам нужно будет предоставить более подробную информацию в своем вопросе, если вы хотите, чтобы это было решено. - person James; 20.12.2011
comment
@Inx, строительные леса по умолчанию просто используют закодированную строку в заголовках таблиц. Вам нужно изменить его после создания представления индекса, чтобы интернационализировать их или что-то в этом роде. - person Romias; 20.12.2011

У вас есть переменная вместо свойства... Например:

вместо этого

[Display("User Name")]
public string UName;

Вы должны иметь

[Display("User Name")]
public string UName { get; set; }
person Mazarin    schedule 10.12.2014