我一直在Blazor中制作一个网络应用程序,但一直遇到这个错误,我找不到任何文档。
我在我的剃须刀页面上写道:
@foreach (App app in AppService.AllApps)
{
<tr>
<td>@app.Title</td>
<td>@app.Price</td>
</tr>
}
Visual Studio错误显示"App"不包含"Title"的定义,并且找不到接受第一个"App"类型参数的可访问扩展方法"Title"(价格相同(
所以我看着我的课,";App";,它包含:
public string Title { get; set; }
所以,我不明白为什么它没有意识到这一点。
提前谢谢,任何建议都是有用的。
当您查看项目文件(解决方案资源管理器(时,您会看到一个文件App.razor
。
因此,您的项目有两个不同的App
类,这会混淆您和编译器。在这种情况下,它更喜欢应用程序组件。
最好的方法是将自己的应用程序类重命名为例如Application。
选项二是使用限定名称,如@foreach (MyClasses.App app in ...)
。我猜了一下这里的名称空间。
选项三是重命名App.razor文件,但要注意它在一些不同的地方使用,如Program.cs和_Host.razor/index.cshtml.