我将数据播种到索引页面上的列表中的表格中,这是专辑使用实体框架工作创建它的模型,这是所有的Model.cs
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
下面有一个红线,这里是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)
是我在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 :(得分:-1)
MVC 5.1的Razor视图支持枚举。检查您是否使用任何以前版本的mvc。此外,MVC 5.1 Razor DisplayFor not working with Enum DisplayName这也可以帮助您。