【发布时间】:2018-10-15 22:16:14
【问题描述】:
我正在尝试从 SQL 查询中打印出数据,但我在一个又一个错误中遇到了错误。
基本上,我试图做的是从数据库中从教师那里获取一些数据,然后在我的视图中列出它们。但是每次我尝试打印时,都会出现此错误
ViewModel' 不包含 'FirstName' 的定义,并且没有 扩展方法 'FirstName' 接受类型的第一个参数 可以找到“ViewModel”。
这是我的代码;
视图模型
namespace Ability.Models
{
public class ViewModel
{
public virtual IEnumerable<Teacher> Teachers { get; set; }
public Teacher Teacher { get; set; }
public virtual IEnumerable<Skill> Skills { get; set; }
public Skill Skill { get; set; }
}
}
控制器
public ActionResult Index()
{
string campus = Request.Params["Campus"];
if (campus != null)
{
if (campus == "Alle")
{
var teachers = (from t in db.Teachers
select t);
}
else
{
var teachers = (from t in db.Teachers
where t.Campus == campus
select t );
}
}
else
{
var teachers = (from t in db.Teachers
select t);
}
var Model = new ViewModel
{
Teachers = db.Teachers.ToList(),
};
return View(Model);
}
查看
@model IEnumerable<Ability.Models.ViewModel>
<h2>Teachers at Thomas More</h2>
...
@foreach (var Teacher in Model)
{
<tr>
<td>
@Teacher.FirstName
</td>
<td>
@Teacher.LastName
</td>
<td>
@Teacher.Email
</td>
<td>
@Teacher.Campus
</td>
</tr>
}
我不确定它是否合理,但我已经尝试过做几件事,包括将循环更改为
@foreach (var Teacher in Model.Teachers)
然后我收到类似的错误
“IEnumerable”不包含“教师”的定义 并且没有扩展方法“教师”接受类型的第一个参数 可以找到“IEnumerable”
期待我能得到的任何帮助!
【问题讨论】:
标签: c# asp.net-mvc linq