How to use MVC Html Helper .DropDownListFor<> with an Enum

前端 未结 6 1701
伪装坚强ぢ
伪装坚强ぢ 2020-12-30 16:01

In my MVC 3 Razor app, I have a Model with an enum..

Model Example:

public class EmployeeModel
{
 public enum Title
 {
  Accountant = 111,
  Sales =          


        
6条回答
  •  轮回少年
    2020-12-30 16:32

    Here's a way using Html Helpers:

    Model

    public class Person
    {
        public string Name { get; set; }
        public JobTitle Job { get; set; }
        public enum JobTitle
        {
            Accountant = 111,
            Sales = 222,
            Production = 333
        }
    }
    

    View

    @model MvcApplication1.Models.Person
    
    @{
        ViewBag.Title = "Index";
    }
    
    @using (Html.BeginForm())
    {
        @Html.TextBoxFor(n => n.Name)
        @Html.DropDownListFor(c => c.Job, new[]{
            new SelectListItem() {Text = MvcApplication1.Models.Person.JobTitle.Accountant.ToString(), 
                Value=((int)MvcApplication1.Models.Person.JobTitle.Accountant).ToString()}
            ,new SelectListItem() {Text = MvcApplication1.Models.Person.JobTitle.Production.ToString(), 
                Value=((int)MvcApplication1.Models.Person.JobTitle.Production).ToString()}
            ,new SelectListItem() {Text = MvcApplication1.Models.Person.JobTitle.Sales.ToString(),
                Value=((int)MvcApplication1.Models.Person.JobTitle.Sales).ToString()}}
                , "Choose a Job Title")                               
    }
    

    HTML Output

    
    
    
        Index
    
    
    

提交回复
热议问题