MVC中UIHint属性的用法是什么

任何人都可以请解释我什么是在MVC中使用UIHint属性。 我们为什么需要这个。 何时以及如何使用。 谢谢

UIHintAttribute指定dynamic数据用于显示数据字段的模板或用户控件。

这是UIHintAttribute的MSDN描述。 它首先为dynamic数据应用程序引入,ASP.NET MVC也对其进行了调整。

如果使用UIHint属性注释一个属性并在视图中使用EditorForDisplayFor ,ASP.NET MVC框架将查找通过UIHintAttribute指定的指定模板。 它寻找的目录是:

对于EditorFor

〜/查看/共享/ EditorTemplates

〜/查看/ CONTROLLER_NAME / EditorTemplates

对于DisplayFor

〜/查看/共享/ DisplayTemplates

〜/查看/ CONTROLLER_NAME / DisplayTemplates

如果你在一个地区,它也适用于你的地区,如上所述。

这是用法示例:

 public class Person { [UIHint("Poo")] public string Name { get; set; } } 

如果您尝试使用EditorForDisplayFor如下所示输出模型属性,MVC框架将在指定的目录下查找名为poo部分视图:

 @model MyApp.Models.Person <h2>My Person</h2> @Html.DisplayFor(m => m.Name)