인덱스 페이지의 목록에 테이블로 데이터를 채우면 엔티티 프레임 작업을 사용하여 앨범을 만들 수있는 모델입니다. 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)
'AlbumGenre' ('AlbumID'가 아닌) 속성에 바인딩하면 안됩니까? –