InvalidOperationException: 没有具有键“ArtistID”的“IEnumerable<SelectListItem>”类型的 ViewData 项

问题描述

我有一个艺术家类,它与专辑类存在一对多关系。我为专辑类搭建了一个控制器及其相应的视图。在我的相册创建视图中,我有以下代码

<div class="form-group">
    <label asp-for="Artist.ArtistID" class="control-label"></label>
    @Html.DropDownListFor(m=>m.Artist.ArtistID,(SelectList)ViewBag.AllArtists,new { @class="form-control"}) 
</div>

在我的专辑控制器中,我有 GET 方法 ViewBag.GetAllArtists = GetAllArtists(); GetAllArtists 在哪里

public SelectList GetAllArtists()
{
    List<Artist> allArtists = _context.Artists.ToList();
    Artist blankArtist = new Artist();
    blankArtist.ArtistID = 0;
    blankArtist.ArtistName = "Select Artist";
    allArtists.Add(blankArtist);   

    SelectList mslAllArtists = new SelectList(allArtists.OrderBy(a => a.ArtistID),"ArtistID","ArtistName");
    
    return mslAllArtists;
}

谁能指出我不断收到错误的原因:

"InvalidOperationException: 没有类型的 ViewData 项 'IEnumerable' 具有键 'ArtistID'。"

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...