-1

인덱스 페이지의 목록에 테이블로 데이터를 채우면 엔티티 프레임 작업을 사용하여 앨범을 만들 수있는 모델입니다. Model.csMVC에서 내 열거 형 드롭 다운 목록에 잘못된 점을 이해할 수 없습니다.

public enum genre { Rock=1, Pop=2 } 

public class Album 
{ 
    public int AlbumID { get; set; } 
    public string AlbumName { get; set; } 
    public string AlbumArtist { get; set; } 
    public genre AlbumGenre { get; set; } 
    public Album() 
    { 
     GenreList = new List<SelectListItem>(); 
    } 
    public IEnumerable<SelectListItem> GenreList { get; set; } 
    public List<Artist> Artists { get; set; } 
} 

컨트롤러에는 드롭 다운 목록에 대해 다음 코드가 있습니다. 끝에 코드 model 아래 redline을 얻을, 여기 return View(model); 그러나 내가 그것을 실행할 때, 답변으로 지정하지 않습니다.

public ActionResult Index() 
{ 
    Album model = new Album(); 
    IEnumerable<genre> genres = Enum.GetValues(typeof (genre)).Cast<genre>(); 
    model.GenreList = from action in genres 
         select new SelectListItem 
         { 
          Text = action.ToString(), 
          Value = (action.ToString()) 
         }; 
    return View(model); 
} 

내 색인 페이지는 오류를 표시하는 곳입니다. @Html.DropDownListFor(model => model.AlbumID, model.GenreList)이 열거 형은 MVC 5.1에서 면도기 뷰에서 지원되는 내가 AlbumId에 오류가있는 라인과 GenreList

@model IEnumerable<revision.Models.Album> 
@{ 
    ViewBag.Title = "Index"; 
} 
<h2>Index</h2> 
<p> 
    @Html.ActionLink("Create WOW", "Create" 
</p> 
@Html.DropDownListFor(model => model.AlbumID, Model.GenreList) 
+0

'AlbumGenre' ('AlbumID'가 아닌) 속성에 바인딩하면 안됩니까? –

답변