حسین احمدی
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

آموزش ایجاد DropDown برای enum ها در ASP.NET MVC

در این مطلب قصد دارم نحوه ایجاد DropDown برای enum ها در ASP.NET MVC را به دوستان عزیز توسینسو آموزش دهم. فرض کنید کلاسی به صورت زیر داریم:

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
public enum Gender
{
    Male,
    Female,
    Unknown
}

public class Person
{
    public int Id { get; set; } 
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public Gender Gender { get; set; }
}

همانطور که مشاهده می کنید برای کلاس Person یک خاصیت به نام Gender ایجاد کردیم که جنسیت را مشخص می کند. در ادامه می خواهیم بر اساس enum جنسیت مقادیر در View ما نمایش داده شود. برای اینکار یک فرم به صورت زیر ایجاد می کنیم:

@using (Html.BeginForm("Submit", "Persons", FormMethod.Post))
{
    @Html.TextBoxFor(person => person.FirstName)
    @Html.TextBoxFor(person => person.LastName)
    @Html.EnumDropDownListFor(person => person.Gender)
}

متد EnumDropDownListFor که در حقیقت یک Extension Method است به صورت خودکار و بر اساس مقادیر Gender یک DropDown برای شما ایجاد می کند که شامل آیتم Male و Female و Unknown است. حال فرض کنید که می خواهید عنوان آیتم های enum را به دلخواه تغییر دهید، برای اینکار کافیست از DisplayAttribute که در فضای نام System.ComponentModel.DataAnnonations قرار دارد بر روی آیتم های Gender به صورت زیر استفاده کنید:

public enum Gender
{
    [Display(Name = "مرد")]
    Male,
    [Display(Name = "زن")]
    Female,
    [Display(Name = "نامشخص")]
    Unknown
}

با انجام این کار و با اجرای کد خواهید دید که آیتم های DropDown به ترتیب مقادیر مرد، زن و نامشخص است.


حسین احمدی
حسین احمدی

بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...

نظرات