如何解决此错误 无法隐式转换类型
本文关键字:类型 转换 错误 何解决 解决 | 更新日期: 2023-09-27 18:32:00
我在第 model.dropdownuserlist
行的控制器中收到错误:
System.Collections.Generic.List<System.Web.Mvc.SelectListItem> to System.Collections.Generic.List<System.Web.WebPages.Html.SelectListItem>
我的模型如下所示
public List<SelectListItem> dropdownuserlist { get; set; }
[Display(Name = "Select User")]
public string uid { get; set; }
并且控制器dropdown.cs
.
public ActionResult Dropdown()
{
DropdownModel model = new DropdownModel();
model.dropdownuserlist = dropdownuserlist()
.Select(p =>
new SelectListItem
{
Text = p.Name,
Value = p.Id.ToString()
})
.ToList<SelectListItem>();
return View();
}
我不知道如何正确铸造这个。有什么建议吗?
尝试
model.dropdownuserlist = dropdownuserlist().Select(p => new System.Web.WebPages.Html.SelectListItem { Text = p.Name, Value = p.Id.ToString() }).ToList();
您使用了错误的命名空间。
看起来您遇到了由引用的命名空间引起的类歧义问题。有 3 种方法可以解决这个问题。
- 检查您的 using 语句并删除冲突的命名空间,如果可能。
- 尝试在代码中使用完全限定的名称,即System.Web.Mvc.SelectListItem.
- 如果两个命名空间都必须有 using 语句,则可以使用几个 using 语句来创建别名和在代码中引用别名。
有关使用别名的示例,请参阅使用指令(C# 参考)。
using HtmlSelectListItem = System.Web.WebPages.Html.SelectListItem ;
using MVCSelectListItem = System.Web.Mvc.SelectListItem;