C# 尝试使用简单ASP.NET核心网站呈现PartialAsync时出现编译器错误 总结
我想更正我在尝试渲染ASP.NET Core部分视图时对C# 尝试使用简单ASP.NET核心网站呈现PartialAsync时出现编译器错误 总结,c#,asp.net-core,razor,asp.net-core-mvc,asp.net-core-5.0,C#,Asp.net Core,Razor,Asp.net Core Mvc,Asp.net Core 5.0,我想更正我在尝试渲染ASP.NET Core部分视图时对RenderPartialAsync方法的使用/调用 细节 我正在尝试在我的简单ASP.NET Core 5.0网站中呈现局部视图: <td> @await Html.RenderPartialAsync("_Listings", item.Listings); </td> 我不明白它在抱怨什么。我猜这个方法在等待一个不会返回任何内容的任务。。。但是它想要一些东西被归还 我觉得里面的那个
RenderPartialAsync
方法的使用/调用
细节
我正在尝试在我的简单ASP.NET Core 5.0网站中呈现局部视图:
<td>
@await Html.RenderPartialAsync("_Listings", item.Listings);
</td>
我不明白它在抱怨什么。我猜这个方法在等待一个不会返回任何内容的任务。。。但是它想要一些东西被归还
我觉得里面的那个方法。。。不返回一些HTML,然后我需要用它做一些事情
在此上下文中,“renders”表示方法使用Writer写入其输出
我做错了什么?是我的razor“代码片段”开始/结束代码块的位置还是什么
另外,我尝试使用Html.RenderPartial
(注意这是同步方法),我得到了一个关于如何阻止的警告,以及相同的错误消息
更新#1
项目列表的返回类型是什么
回答:IEnumerable
所以我不得不将代码从:
<td>
@await Html.RenderPartialAsync("_Listings", item.Listings);
</td>
\u列表
视图或结果是否存在且没有错误?你也可以分享吗?物品的返回类型是什么?物品列表?@Pribina哦,好问题!我不知道它是否会导致任何错误。。。但这些都是运行时错误,不是吗?它没有任何编译器错误。。。或者至少编译器没有抱怨。只是为了确认一下,我已经删除了部分视图中的所有内容,并且有一个带有硬编码文本的div。@user1986237-好问题-我已经用答案更新了帖子。您的猜测是正确的:返回一个任务
,因此结果类型是void
。不带大括号的@
要求Razor渲染结果,这是不可能的:无法将void
转换为任何可渲染的内容。如果Html.RenderPartialAsync
返回一个字符串,需要手动渲染,那么这才是正确的方法。大括号引入了一个新的代码块,它允许标准C#语法。
<td>
@await Html.RenderPartialAsync("_Listings", item.Listings);
</td>
<td>
@{
await Html.RenderPartialAsync("_Listings", item.Listings);
}
</td>
<td>
<partial name="_Listings" model="item.Listings" />
</td>