型号:
public class Tables: DbContext
{
public IEnumerable<Thing> Thing { get; set; }
public List<Thing2> Thing2 { get; set; }
public System.Data.Entity.DbSet<Example.MainTable> MainTables { get; set; }
public System.Data.Entity.DbSet<Example.Table2> Tables2 { get; set; }
}
查看:
@model IEnumerable<Example.MainTable>
控制器:
public ActionResult ABC()
{
var model = new Example.Models.Tables();
string ABC = "ABC";
model.MainTables = db.Example.Where(d => d.ColumnName.Contains(ABC)).ToList();
model.Tables2 = (from d in db.MainTables.ToList()
join j in db.Tables2.ToList() on d.AssignID equals j.ID
select new Tables2() { Name = j.Name });
List<Tables> allTables = new List<Tables>();
allTables.Add(model);
return View(allTables);
}
错误讯息:
传递到字典中的模型项的类型为System.Collections.Generic.List
1[Example.Models.Tables], but this dictionary requires a model item of type System.Collections.Generic.IEnumerable
1 [Example.MainTable]。
尝试2(在控制器中返回之前删除最后2行并替换):
return View(model);
错误讯息:
传递到字典中的模型项的类型为“Example.Models.Tables”,但此字典需要类型为“System.Collections.Generic.IEnumerable”1 [Example.MainTable]'的模型项。
我该如何解决这个问题?
答案 0 :(得分:0)
将视图上的模型更改为@model IEnumerable<Example.Tables>
或在您的控制器中进行以下更改
List<MainTable> allTables = new List<MainTable>();
allTables.Add(model.MainTables);