asp.net-mvc – MVC.net获取枚举显示名称而不必参考枚举类型在视图中
发布时间:2020-05-23 11:54:22 所属栏目:asp.Net 来源:互联网
导读:我在ViewModelBase类中具有以下帮助方法,它由其他视图模型继承: public string GetEnumNameT(Enum value) { Type enumType = typeof(T); var enumValue = Enum.GetName(enumType, value); M
|
我在ViewModelBase类中具有以下帮助方法,它由其他视图模型继承: public string GetEnumName<T>(Enum value)
{
Type enumType = typeof(T);
var enumValue = Enum.GetName(enumType,value);
MemberInfo member = enumType.GetMember(enumValue)[0];
var attrs = member.GetCustomAttributes(typeof(DisplayAttribute),false);
var outString = ((DisplayAttribute)attrs[0]).Name;
if (((DisplayAttribute)attrs[0]).ResourceType != null)
{
outString = ((DisplayAttribute)attrs[0]).GetName();
}
return outString;
}
我就这样从这个角度来看: <p>
@{var rel = Model.GetEnumDisplayName<Enums.wheteverEnum>(Model.wheteverEnum); }
@rel
</p>
问题是 – 我可以使用这种方法,所以我不必告诉它枚举的类型?基本上我想对所有的枚举做这个: @ Model.GetEnumDisplayName(Model.wheteverEnum) 没有类型,没有T,不需要添加对枚举命名空间在视图…中的引用 可能? 解决方法您可以简单地删除类型参数并使其成为扩展方法。public static string DisplayName(this Enum value)
{
Type enumType = value.GetType();
var enumValue = Enum.GetName(enumType,value);
MemberInfo member = enumType.GetMember(enumValue)[0];
var attrs = member.GetCustomAttributes(typeof(DisplayAttribute),false);
var outString = ((DisplayAttribute)attrs[0]).Name;
if (((DisplayAttribute)attrs[0]).ResourceType != null)
{
outString = ((DisplayAttribute)attrs[0]).GetName();
}
return outString;
}
@Model.wheteverEnum.DisplayName() (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 会话固定 – 表单身份验证
- asp.net-mvc – 禁用为特定提交按钮启用不显眼的验证
- asp.net – 错误消息401.2:未授权:由于服务器配置,登录失
- asp.net-mvc – Firefox在Ajax请求重定向期间不保留自定义标
- asp.net – 生成PDF,IE和HTTPS错误
- .net – 将HtmlTextWriter的内容转换为字符串
- asp.net-mvc-3 – 使用asp.net mvc本地化jquery验证3
- ASP.NET MVC 3可以在ASP.NET 3.5网站中运行吗?
- 如何在Asp.Net Web API 2中使用Owin OAuth2修改令牌端点响应
- asp.net – MVC控制器和视图应该有1到1的关系吗?
推荐文章
站长推荐
- asp.net-mvc-2 – 检查Html.ValidationSummary()
- asp.net – VS 2012发布:找不到有效的AspnetMer
- Asp.net mvc – Html提交按钮未发送帖子?
- 在ASP.Net网站上实现自定义错误页面
- 在我的应用程序中托管ASP.NET
- asp.net-mvc-4 – DataAnnotation Range属性的客
- asp.net-mvc-4 – 在Startup.Auth.cs之外配置的C
- asp.net-mvc – 设置下拉项目选择MVC
- asp.net – BC30560:’default_aspx’在命名空间
- asp.net – 在Response.End之前使用Response.Flu
热点阅读
