如何从Enum国际化价值观

时间:2014-04-17 02:22:30

标签: asp.net-mvc

我想国际化一个枚举。我是巴西人,我有很多问题要解决这个问题。所以,我在模型中有这个代码:

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中获取值。 你能理解我吗?

0 个答案:

没有答案