Может кто-нибудь объяснить мне, что такое использование атрибута UIHint в MVC. Зачем нам это надо. и когда и как использовать. Спасибо
Что такое атрибут UIHint в MVC
Ответ 1
UIHintAttribute Задает шаблон или пользовательский элемент управления, который использует Dynamic Data для отображения поля данных.
Это описание MSDN для UIHintAttribute. Сначала он был введен для приложений Dynamic Data, и ASP.NET MVC также адаптировал его.
Если вы аннотируете свойство с атрибутом UIHint и используете EditorFor
или DisplayFor
внутри своих представлений, структура ASP.NET MVC будет искать указанный шаблон, который вы указали через UIHintAttribute
. Каталоги, которые он ищет:
Для EditorFor
:
~/Views/Shared/EditorTemplates
~/Views/Controller_Name/EditorTemplates
Для DisplayFor
:
~/Views/Shared/DisplayTemplates
~/Views/Controller_Name/DisplayTemplates
Если вы находитесь в зоне, это относится и к вашей области, как указано выше.
Вот пример использования:
public class Person {
[UIHint("Poo")]
public string Name { get; set; }
}
Структура MVC будет искать частичный вид с именем poo
в указанных каталогах, если вы попытаетесь вывести свойство модели с помощью EditorFor
или DisplayFor
, как показано ниже:
@model MyApp.Models.Person
<h2>My Person</h2>
@Html.DisplayFor(m => m.Name)