Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 尝试使用简单ASP.NET核心网站呈现PartialAsync时出现编译器错误 总结_C#_Asp.net Core_Razor_Asp.net Core Mvc_Asp.net Core 5.0 - Fatal编程技术网

C# 尝试使用简单ASP.NET核心网站呈现PartialAsync时出现编译器错误 总结

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> 我不明白它在抱怨什么。我猜这个方法在等待一个不会返回任何内容的任务。。。但是它想要一些东西被归还 我觉得里面的那个

我想更正我在尝试渲染ASP.NET Core部分视图时对
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>