单独的UIHints在mvc4中显示和编辑

时间:2013-08-05 07:56:26

标签: asp.net-mvc-4

是否可以使用单独的uihint模板,一个用于显示,另一个用于编辑?如果是,如何实现这一目标?

例如:

public class PartyRole
{
[Required]
    [UIHint("DropDownList")]
    public int PartyRoleTypeId { get; set; }
}

我正在使用EditForModel()和DisplayForModel()。

在编辑中,我将该属性显示为下拉列表。但在显示中我应该将其显示为简单文本。

1 个答案:

答案 0 :(得分:1)

  

是否可以使用单独的uihint模板,一个用于显示,另一个用于编辑?

不,这是不可能的。它应该是同一个名字。 EditorTemplate位于~/Views/Shared/EditorTemplates,显示模板位于~/Views/Shared/DisplayTemplates。如果由于某种原因你绝对需要为模板命名,你可以将它们作为参数传递给助手,而不是使用UIHint:

@Html.EditorFor(x => x.Foo, "SomeEditorTemplate")

@Html.DisplayFor(x => x.Foo, "SomeDisplayTemplate")