Model view controller 带有转换值的下拉列表
我的域中有这样的枚举Model view controller 带有转换值的下拉列表,model-view-controller,Model View Controller,我的域中有这样的枚举 public enum AdTypeEnum { Sale = 1, Rent = 2, SaleOrRent = 3 }; <div class="editor-field"> @Html.DropDownListFor(x => x.AdType, new SelectList(Enum.GetValues(typeof(MyDomain.Domain.Property.AdTypeEnum)))) </div> 在我看来,我是这
public enum AdTypeEnum { Sale = 1, Rent = 2, SaleOrRent = 3 };
<div class="editor-field">
@Html.DropDownListFor(x => x.AdType, new SelectList(Enum.GetValues(typeof(MyDomain.Domain.Property.AdTypeEnum))))
</div>
在我看来,我是这样呈现这个枚举的
public enum AdTypeEnum { Sale = 1, Rent = 2, SaleOrRent = 3 };
<div class="editor-field">
@Html.DropDownListFor(x => x.AdType, new SelectList(Enum.GetValues(typeof(MyDomain.Domain.Property.AdTypeEnum))))
</div>
现在,我尝试实现的是基于所选语言的枚举。我想在下拉列表中以所选语言显示这些枚举。您是否尝试过类似的操作:
public static Array Localize(Array values)
{
string[] result = new string[values.Length];
for (int i = 0; i < values.Length; ++i)
result[i] = Resources.ResourceManager.GetString(values.GetValue(i).ToString());
return result;
}
更好的实现应该为每个枚举类型使用不同的键集,使用枚举名称作为GetString参数的一部分。
无论如何,这种方法非常简单,我认为对于大型应用程序或更复杂的场景,您可能需要从SelectList类继承