我想国际化一个枚举。我是巴西人,我有很多问题要解决这个问题。所以,我在模型中有这个代码:
public enum Lista
{
[Display(Name = "Lista_regular", ResourceType = typeof(Mensagem))]
Regular = 0,
[Display(Name = "Lista_irregular", ResourceType = typeof(Mensagem))]
Irregular = 1
}
在.resx文件中:
我在互联网上找到了这个助手,但我不知道这是否是解决我问题的最佳解决方案:
public static MvcHtmlString EnumDropDownListFor<TModel, TProperty, TEnum>(
this HtmlHelper<TModel> htmlHelper,
Expression<Func<TModel, TProperty>> expression,
TEnum selectedValue)
{
IEnumerable<TEnum> values = Enum.GetValues(typeof(TEnum))
.Cast<TEnum>();
IEnumerable<SelectListItem> items = from value in values
select new SelectListItem()
{
Text = value.ToString(),//Here
Value = value.ToString(),
Selected = (value.Equals(selectedValue))
};
return SelectExtensions.DropDownListFor(htmlHelper, expression, items);
}
我想替换注释“Here”的地方可以从文件resx中获取值。 你能理解我吗?