私のMVC3アプリケーションで。私はこのSelectListのローカライズされた列挙型文字列
<div class="editor-field">
@Html.DropDownListFor(x => x.AdType, new SelectList(Enum.GetValues(typeof(MyDomain.Property.AdTypeEnum))), " ", new { @class = "dxeButtonEdit_Glass" })
</div>
MyDomain.Propertyが、私はこれらの列挙型をローカライズするために私のローカライズされた文字列を使用することができますどのようにこの
public enum AdTypeEnum
{
Sale = 1,
Rent = 2,
SaleOrRent = 3
};
のように見えるように列挙型の値を持つコンボボックスを移入するために選択リストを使用していますか?
public class LocalizedNameAttribute: Attribute
{
private readonly Type _resourceType;
private readonly string _resourceKey;
public LocalizedNameAttribute(string resourceKey, Type resourceType)
{
_resourceType = resourceType;
_resourceKey = resourceKey;
DisplayName = (string)_resourceType
.GetProperty(_resourceKey, BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public)
.GetValue(null, null);
}
public string DisplayName { get; private set; }
}
とカスタムDropDownListForEnum
ヘルパー::