gpt4 book ai didi

c# - ViewComponent 部分中的 System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Html.IHtmlContent]

转载 作者:太空狗 更新时间:2023-10-29 19:51:26 26 4
gpt4 key购买 nike

我是查看组件的新手,完全不明白为什么会出现此错误。

public class Last6ClosedJobsViewComponent :  ViewComponent
{
private readonly Eva804Context ctx;

public Last6ClosedJobsViewComponent(Eva804Context context)
{
ctx = context;
}

public IViewComponentResult Invoke(int id)
{
var jobs = from j in ctx.Job
.Include(j => j.Site)
.Include(j => j.WaterBody)
.Where(j => j.Site.SiteID == id && j.InvoiceDate != null)
.OrderByDescending(j => j.BookingDate)
.Take(6)
select j;

return View(jobs);
}

}

然后在默认 View 中,我只是想在这个阶段显示预订日期列表:

@model IEnumerable<Eva804.Models.Job>

<h3>Recently Invoiced Jobs</h3>
<ul>
@foreach (var j in Model)
{
<li>@j.BookingDate</li>

}
</ul>

然后在站点详细信息中我有以下内容:

<div class="alert alert-success">@Component.InvokeAsync("Last6ClosedJobs",Model.SiteID)</div>

与我正在处理的示例相比,据我所知,所有这些看起来都是正确的。

然后在 View 中显示一个可爱的绿色部分,漂亮且措辞如下:System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Html.IHtmlContent]

我如何找到这个错误?我应该在哪里看?我看不到我的代码有问题吗?

最佳答案

你需要@await来处理异步调用,像这样:

<div class="alert alert-success">@await Component.InvokeAsync("Last6ClosedJobs",Model.SiteID)</div>

InvokeAsync 返回一个任务,然后 @await 等待任务,当任务完成时,它返回结果。

关于c# - ViewComponent 部分中的 System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Html.IHtmlContent],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43312103/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com