C# 无法隐式转换类型';列表<;System.Web.Mvc.SelectListItem>;至';IEnumerable<;Microsoft.AspNetCore.Mvc.Rendering.SelectListItem>';
在我的cshtml视图中,我有一个预先制作的(scaffold)代码,我对它做了一些修改,以便能够将枚举列表放在下面,而不是文本框:C# 无法隐式转换类型';列表<;System.Web.Mvc.SelectListItem>;至';IEnumerable<;Microsoft.AspNetCore.Mvc.Rendering.SelectListItem>';,c#,model-view-controller,enums,asp.net-core-mvc,selectlistitem,C#,Model View Controller,Enums,Asp.net Core Mvc,Selectlistitem,在我的cshtml视图中,我有一个预先制作的(scaffold)代码,我对它做了一些修改,以便能够将枚举列表放在下面,而不是文本框: <div class="form-group"> <label asp-for="Color" class="control-label"></label> <select asp-for="Color" asp-items="Model.Colors" c
<div class="form-group">
<label asp-for="Color" class="control-label"></label>
<select asp-for="Color" asp-items="Model.Colors" class="form-control"></select>
<span asp-validation-for="Color" class="text-danger"></span>
</div>
我试图按照本教程进行操作:您很可能在文件顶部的模型中使用System.Web.Mvc名称空间。当
SelectListItem
存在时,视图中所需的项目来自Microsoft.AspNetCore.Mvc.Rendering
命名空间
因此,有两种方法可以解决此问题:
选择1
代码>
代码>
SelectListItem
更改为Microsoft.AspNetCore.Mvc.Rendering.SelectListItem
请提供一个可复制的示例,此代码不清楚,因此很难准确地看出问题所在。使用file@KieranDevlin我一直在学习本教程,但是展示所有代码有点太多了,因为它们与此无关。但是,当教程中的家伙试图使用
asp items=Model.etc
@Selvin使用我应该拥有什么时,它基本上就出错了?
public EnumsDTO.Color Color { get; set; }
public List<SelectListItem> Colors { get; set; }
public void AddColorViewModel()
{
Colors = new List<SelectListItem>();
foreach (Color c in (Color[])Enum.GetValues(typeof(Color)))
{
Colors.Add(new SelectListItem
{
Value = ((int)c).ToString(),
Text = c.ToString()
});
}
}