任何人都可以解释一下MVC中UIHint属性的用途。我们为什么需要这个。以及何时以及如何使用。谢谢
答案 0 :(得分:88)
UIHintAttribute指定动态数据用于显示数据字段的模板或用户控件。
这是UIHintAttribute的MSDN描述。它首先介绍了动态数据应用程序,ASP.NET MVC也对它进行了改编。
如果使用UIHint属性注释属性并在视图中使用EditorFor
或DisplayFor
,ASP.NET MVC框架将查找您通过UIHintAttribute
指定的指定模板。它寻找的目录是:
EditorFor
:
〜/查看/共享/ EditorTemplates
〜/查看/ CONTROLLER_NAME / EditorTemplates
DisplayFor
:
〜/查看/共享/ DisplayTemplates
〜/查看/ CONTROLLER_NAME / DisplayTemplates
如果您在某个区域,它也适用于您所在的区域。
以下是使用示例:
public class Person {
[UIHint("Poo")]
public string Name { get; set; }
}
如果您尝试使用poo
或EditorFor
输出模型属性,MVC框架将在指定目录下查找名为DisplayFor
的部分视图:
@model MyApp.Models.Person
<h2>My Person</h2>
@Html.DisplayFor(m => m.Name)