我已经创建了一个视图,我想用它来显示从数据库中提取的结果并在我的操作中传递给视图。当我创建视图时,我没有告诉它我想传递哪些对象,所以我尝试手动添加它们,但视图似乎没有识别它们。
这是我的结果视图,顶线是我尝试添加的内容,但VS并不认识它。因此空格为红色(无法识别),而item.Name和item.description为红色
@spaces IQueryable<GiftExchange.Core.Models.Space.YogaSpace>
@{
ViewBag.Title = "Results";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h3>Search Results</h3>
@using (Html.BeginForm("Results", "Home", FormMethod.Get))
{
<p>
@Html.TextBox("Location") <input value='Search' type="submit" />
</p>
}
<table border="1">
<tr>
<th>
@Html.DisplayNameFor(spaces => spaces.Name)
</th>
<th>
@Html.DisplayNameFor(spaces => spaces.Description)
</th>
</tr>
@foreach (var item in spaces)
{
<tr>
<th>
@Html.DisplayFor(modelItem => item.Name)
</th>
<th>
@Html.DisplayFor(modelItem => item.Description)
</th>
</tr>
}
</table>
这是我的行动
[AllowAnonymous]
public ActionResult Results(string searchTerm)
{
IQueryable<YogaSpace> spaces;
using (var repo = new YogaSpaceRepository())
{
spaces = repo.All;
}
return View(spaces);
}
答案 0 :(得分:4)
在视图的第一行,为@spaces
切换@model
。
然后使用spaces
而不是Model
而不是{{1}}。
有关详情,请参阅Google搜索&#34;强类型视图&#34;。