Bit*_*ost 7 c# asp.net-mvc asp.net-core-mvc
我是新手查看组件,不明白我为什么会收到此错误.
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);
}
}
Run Code Online (Sandbox Code Playgroud)
然后在默认视图中,我只是想在此阶段显示预订日期列表:
@model IEnumerable<Eva804.Models.Job>
<h3>Recently Invoiced Jobs</h3>
<ul>
@foreach (var j in Model)
{
<li>@j.BookingDate</li>
}
</ul>
Run Code Online (Sandbox Code Playgroud)
然后在网站详细信息中我有以下内容:
<div class="alert alert-success">@Component.InvokeAsync("Last6ClosedJobs",Model.SiteID)</div>
Run Code Online (Sandbox Code Playgroud)
与我正在反对的例子相比,所有这些看起来都是正确的.
然后在视图中显示一个可爱的绿色部分,漂亮和措辞为:System.Threading.Tasks.Task`1 [Microsoft.AspNetCore.Html.IHtmlContent]
我如何找到此错误?我应该在哪里看?我看到的代码有什么问题吗?
P. *_*kis 26
您需要@await处理异步调用,如下所示:
<div class="alert alert-success">@await Component.InvokeAsync("Last6ClosedJobs",Model.SiteID)</div>
Run Code Online (Sandbox Code Playgroud)
InvokeAsync返回一个Task,然后@await等待任务,当任务完成时,它返回结果.
| 归档时间: |
|
| 查看次数: |
4839 次 |
| 最近记录: |