我的ViewModel
public class ViewModelCT
{
public IEnumerable<SelectListItem> Tests { get; set; }
public IEnumerable<string> SelectedTests { get; set; }
public Course course { get; set; }
}
控制器
public ActionResult Details(int id)
{
Course course = functionality.toCourse(functionality.GetCourseById(id));
List<SelectListItem> lsli = new List<SelectListItem>();
ViewModelCT vm = new ViewModelCT();
foreach (SchoolService.Test sTest in functionality.GetTestByCourse(id))
{
SelectListItem sli = new SelectListItem()
{
Text = sTest.Name,
Value = sTest.Id.ToString(),
Selected = false
};
lsli.Add(sli);
// vm.Tests.(functionality.toTest(sTest));
}
**vm.Tests = lsli;**
vm.course = functionality.toCourse(functionality.GetCourseById(id));
return View(vm);
}
我得到错误:
错误1无法隐式转换类型
System.Collections.Generic.List<System.Web.Mvc.SelectListItem>
来System.Collections.Generic.IEnumerable<System.Web.WebPages.Html.SelectListItem>
。 存在显式转换(您是否错过了演员?)
我不知道为什么它不起作用。
答案 0 :(得分:4)
正如错误所暗示的那样,System.Web.WebPages.Html.SelectListItem
和System.Web.Mvc.SelectListItem
不是同一回事。 ViewModelCT
和您的控制器引用了不同的SelectListItem
类。
检查每个文件中的using语句。我怀疑有一个using System.Web.Mvc
而另一个有using System.Web.WebPages.Html
。