什么是MVC中的UIHint属性的使用。谁能给我一个简单的例子,说明如何使用它以及做什么。

最佳答案

使用显示或编辑器模板时,UIHint会告诉它使用哪个模板:

[UIHint("SomeTemplate")]
public class MyViewModel
{
     public string SomeProperty { get; set; }
}

如果在Views / Shared / DisplayTemplates或Views / {Controller} / DisplayTemplates中创建一个名为SomeTemplate.ascx的显示模板(因为您是MVC2),则在执行以下操作时将使用该模板:
@Html.DisplayForModel() // if Model is MyViewModel

要么
@Html.DisplayFor(m => m.ModelProperty) // if ModelProperty is of type MyViewModel

编辑
如果要在属性级别上指定:
public class MyViewModel
{
    [UIHint("Birthday")]
    public DateTime DateOfBirth { get; set; }
}

您可以在/ Views / Shared或/ Views / {Controller}的DisplayTemplates或EditorTemplates文件夹中创建一个名为Birthday的显示/编辑器模板。然后,当您这样做时:
@Html.DisplayFor(m => m.DateOfBirth)

要么
@Html.EditorFor(m => m.DateOfBirth)

它将使用UIHint中指定的模板

10-04 18:17