43

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

4

1 回答 1

93

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

这是 UIHintAttribute 的 MSDN 描述。它最初是为动态数据应用程序引入的,ASP.NET MVC 也对其进行了改编。

如果您使用 UIHint 属性注释属性并在视图中使用EditorForor DisplayFor,则 ASP.NET MVC 框架将查找您通过UIHintAttribute. 它查找的目录是:

对于EditorFor

~/Views/Shared/EditorTemplates

~/Views/Controller_Name/EditorTemplates

对于DisplayFor

〜/视图/共享/显示模板

~/Views/Controller_Name/DisplayTemplates

如果您在一个区域,它也适用于您的区域,如上所示。

这是使用示例:

public class Person { 

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

poo如果您尝试使用以下EditorForDisplayFor类似的方式输出模型属性, MVC 框架将在指定目录下查找命名的局部视图:

@model MyApp.Models.Person

<h2>My Person</h2>

@Html.DisplayFor(m => m.Name)
于 2011-11-19T20:45:46.633 回答