我正在尝试建立一个ASP。. NET Core 6 MVC应用。
我有两个控制器'home'和'work'。我如何在主页/索引视图中显示"工作"模型的数据?
不幸的是,我不知道更好地表达这个问题的术语,但实际上我想在主页上实现我可以显示最近几部作品。
我输入/编辑数据的部分工作正常。当我转到/Works/Index
页面时,我看到所有输入的数据。例如,如何在应用程序的主页上显示最后4个字符
在index.cshtml
中我有
@model IEnumerable<Website.Models.Work>
@foreach (var item in Model)
{
<div class="col-lg-3 col-sm-6">
<div class="gallery-item wow fadeInUp delay-0-2s">
<img src="~/assets/images/gallery/gallery-1.jpg" alt="Gallery">
<div class="gallery-content">
<span class="category"><a href="portfolio-details.html">@Html.DisplayFor(modelItem => item.Tag)</a></span>
<h5><a href="portfolio-details.html">@Html.DisplayFor(modelItem => item.Headline)</a></h5>
</div>
</div>
</div>
}
但是我得到一个错误:
系统。NullReferenceException:对象引用没有设置为对象的实例。
如果您只是想知道如何在页面上显示数据,下面是一个工作演示:
HomeController
public class HomeController: Controller
{
private readonly YourDbContext _context;
public HomeController(YourDbContext context)
{
_context = context;
}
public IActionResult Index()
{
//get the last 4 records...
var model = _context.Work.AsEnumerable().Reverse().Take(4).ToList();
return View(model);
}
}
家/Index.cshtml
@model IEnumerable<Website.Models.Work>
@foreach (var item in Model)
{
<div class="col-lg-3 col-sm-6">
<div class="gallery-item wow fadeInUp delay-0-2s">
<img src="~/assets/images/gallery/gallery-1.jpg" alt="Gallery">
<div class="gallery-content">
<span class="category"><a href="portfolio-details.html">@Html.DisplayFor(modelItem => item.Tag)</a></span>
<h5><a href="portfolio-details.html">@Html.DisplayFor(modelItem => item.Headline)</a></h5>
</div>
</div>
</div>
}