Как привязать Enum к элементу управления DropDownList в ASP.NET?

Используйте следующий служебный c#-language класс Enumeration, чтобы получить IDictionary (пара .net-framework значение перечисления и имя) из asp.net перечисления; затем вы привязываете IDictionary к c#.net привязываемому элементу управления.

public static class Enumeration
{
    public static IDictionary GetAll() where TEnum: struct
    {
        var enumerationType = typeof (TEnum);

        if (!enumerationType.IsEnum)
            throw new ArgumentException("Enumeration type is expected.");

        var dictionary = new Dictionary();

        foreach (int value in Enum.GetValues(enumerationType))
        {
            var name = Enum.GetName(enumerationType, value);
            dictionary.Add(value, name);
        }

        return dictionary;
    }
}

Пример: Использование asp.net служебного класса для привязки .net данных перечисления к элементу aspx управления

ddlResponse.DataSource = Enumeration.GetAll();
ddlResponse.DataTextField = "Value";
ddlResponse.DataValueField = "Key";
ddlResponse.DataBind();

c#

.net

asp.net

2022-10-26T00:07:58+00:00