查看ASP中另一个控制器的数据.. NET Core MVC



我正在尝试建立一个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>
}

最新更新