Что такое использование атрибута UIHint в MVC. Может кто-нибудь, пожалуйста, предоставит мне простой пример того, как его использовать и что он делает.
Атрибут UIHint в MVC
Ответ 1
При использовании шаблона Display или Editor UIHint сообщит, какой шаблон использовать:
[UIHint("SomeTemplate")]
public class MyViewModel
{
public string SomeProperty { get; set; }
}
Если вы создадите шаблон отображения SomeTemplate.ascx(поскольку вы являетесь MVC2) в представлениях /Shared/DisplayTemplates или Views/{Controller}/DisplayTemplates, тогда он будет использовать этот шаблон, когда вы это сделаете:
@Html.DisplayForModel() // if Model is MyViewModel
или
@Html.DisplayFor(m => m.ModelProperty) // if ModelProperty is of type MyViewModel
изменить
Если вы хотите указать это на уровне свойства:
public class MyViewModel
{
[UIHint("Birthday")]
public DateTime DateOfBirth { get; set; }
}
Вы можете создать шаблон отображения/редактора с именем День рождения в папке DisplayTemplates или EditorTemplates в /Views/Shared или/Views/{Controller}. Затем, когда вы выполните:
@Html.DisplayFor(m => m.DateOfBirth)
или
@Html.EditorFor(m => m.DateOfBirth)
Он будет использовать шаблон, указанный в UIHint
Ответ 2
UIHint может использоваться только для свойства, а не для объявления класса как состояния Dismissile. Я использую MVC3, поэтому это может измениться с MVC2.
"Атрибут 'UIHint' недействителен для этого типа объявления. Он действителен только для объявлений 'property, indexer, field'