在MVC中使用UIHint属性有什么用

时间:2011-11-19 18:48:10

标签: .net asp.net-mvc data-annotations

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

1 个答案:

答案 0 :(得分:88)

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

这是UIHintAttribute的MSDN描述。它首先介绍了动态数据应用程序,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; }
}

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

@model MyApp.Models.Person

<h2>My Person</h2>

@Html.DisplayFor(m => m.Name)