如何在MVC 4中为枚举创建默认编辑器模板?

Ser*_*rge 2 c# asp.net-mvc enums templates asp.net-mvc-4

我们知道,如果我们为基类型定义模板,那么该模板也可以用于派生类型(如果没有使用任何其他模板来覆盖它).

因为我们不能继承一个Enum,也不会enum被认为是继承的Enum,所以对于对象的不同自定义枚举属性,它们中的Enum.cshtml模板Views\Shared\EditorTemplates都不会处于活动状态,如下所示:

public enum Role
{
    Admin,
    User,
    Guest
}
Run Code Online (Sandbox Code Playgroud)

我已经在ASP中看到了关于这个主题的一些答案,但是我想知道在MVC 4中是否对这个主题有一些改进?

PS.我的意思是使用任何明确的模板归属(如@Html.EditorFor(model => model.Role, "Enum")[UIHint("Enum")])

PPS.我是MVC的新手,所以我很感激你的简单答案.

小智 7

K. Scott Allen有一篇很好的文章.