@Html.EditorFor(m => Model.... でモデルを編集しています。
プロパティの 1 つを強制的に管理者またはユーザーにする必要があります。
これら 2 つのオプションでドロップダウン ボックスを強制的に表示するには、モデル プロパティにどの属性を追加できますか?
@Html.EditorFor(m => Model.... でモデルを編集しています。
プロパティの 1 つを強制的に管理者またはユーザーにする必要があります。
これら 2 つのオプションでドロップダウン ボックスを強制的に表示するには、モデル プロパティにどの属性を追加できますか?
列挙型の次の拡張機能を作成します
public static class EnumExtensions
{
public static IEnumerable<SelectListItem> ToSelectListItems<TEnum>(this TEnum enumObj)
{
var values = from TEnum e in Enum.GetValues(typeof(TEnum))
select new SelectListItem() { Value = e.ToString(), Text = Enum.GetName(typeof(TEnum), e) };
return values;
}
}
次に、次のカスタムエディタテンプレートを追加します(Views / Shared / EditorTemplatesの下)
@model Enum
@Html.DropDownListFor(m => m, Model.ToSelectListItems())
次に、オプションとしてユーザーと管理者を使用して、プロパティを列挙型にします。
カスタム属性を作成して、列挙値の表示名を追加することもできます(スペースなどを処理するため)。