私はasp.net mvcを使用しています。これはまっすぐなものかもしれない。今列挙型にバインドされたドロップダウンリスト
public static SelectList ToSelectList<TEnum>(this TEnum enumObj) where TEnum : struct, IComparable, IFormattable, IConvertible
{
var values = from TEnum e in Enum.GetValues(typeof(TEnum))
select new { Id = Convert.ToInt32(e), Name = e.ToString() };
return new SelectList(values, "Id", "Name", enumObj);
}
を次のように関数が定義されて
public class SearchControlViewModel
{
...
public GlobalEnums.IndicatorGroup IndicatorGroups { get; set; }
...
}
ToSelectListを次のように
@Html.DropDownListFor(m => m.IndicatorGroups, Model.IndicatorGroups.ToSelectList(), new { @id = "ddlIndicatorGroup" })
モデルが定義され、以下のように私は列挙型に私のドロップダウンリストを結合しています列挙型にスペースを加えた値を追加しました。これらの値を "un derscores "
public enum IndicatorGroup
{
[EnumMember(Value = "Include ANY MatchingIndicator")]
Include_ANY_MatchingIndicator = 1,
[EnumMember(Value = "Include ALL MatchingIndicator")]
Include_ALL_MatchingIndicator,
[EnumMember(Value = "Exclude ANY MatchingIndicator")]
Exclude_ANY_MatchingIndicator,
[EnumMember(Value = "Exclude ALL MatchingIndicator")]
Exclude_ALL_MatchingIndicator
};
私はこれをどのように行うことができますか?
MVCで
、[' EnumDropDownListFor'(https://msdn.microsoft.com/en-us/library/system.web.mvc.html.selectextensions.enumdropdownlistfor%28v=を使用vs.118%29.aspx)を使用して列挙型をドロップダウンリストに直接バインドします。 – mmushtaq
(DescriptionAttributeを使用して)[この回答](https://stackoverflow.com/questions/388483/how-do-you-create-a-dropdownlist-from-an-enum-in-asp-net-mvc) ') –