c# - 在 razor 视图中找不到“Invoke”或“InvokeAsync”方法错误
问题描述
在我的视图中使用视图组件时,我收到了这个没有意义的错误。当我打开一个使用视图组件的视图(为所述视图组件调用标签助手)时,我看到了一个错误,我无法在 Visual Studio 的错误列表部分中解决这个问题。
仅当打开 cshtml 文件时,错误才会显示在错误列表中。如果我关闭 cshtml 文件,错误就会消失。每个打开的 cshtml 文件都会重复该错误。
该错误永远不会阻止应用程序构建,它会按预期呈现视图组件..
这个错误只是在视觉上很烦人,可能会产生误导......有没有办法摆脱这个?我是否在做一些不正确的事情来显示此错误?这是 Visual Studio 错误吗?
编辑:我的应用程序有许多视图组件。我经常从视图组件视图中调用其他视图组件。这似乎是导致错误的原因,但我不明白为什么......即使许多视图组件都这样做..错误仅针对一个视图组件显示,但对于每个打开的cshtml文件都重复...如果我注释掉从视图组件视图中调用视图组件标记帮助程序的行,则错误现在转移到一些其他相同的视图组件仍然为每个视图重复.. 非常混乱!
任何帮助表示赞赏谢谢..
错误:
Error Could not find an 'Invoke' or 'InvokeAsync' method for the view component 'AspNetCore.Views_Shared_Components_Some_SomeViewComponent'. SomeWebProject C:\Src\SomeWebProjectFolder\Views\Shared\Components\Some\SomeViewComponent.cshtml 1
ViewComponent 实现类 -->
//Base View Component Class
public abstract class BaseViewComponent<TViewModel> : ViewComponent
where TViewModel : IViewComponentViewModel
{
public IViewComponentResult Invoke(TViewModel viewModel)
{
return View(viewModel.ViewName, viewModel);
}
}
//Derived View Component Class
public class SomeViewComponent : BaseViewComponent<SomeViewComponentViewModel>
{ }
//View Component View Model Implementation for SomeViewComponent
public class SomeViewComponentViewModel : IViewComponentViewModel
{
public string SomeProperty { get; set; }
//Below properties are implementations of IViewComponentViewModel..
//Shared/Components/Some/ folder structure to find the view..
public string ViewComponentName => "Some";
//view named "SomeViewComponent.cshtml"
public string ViewName => nameof(SomeViewComponent);
}
SomeViewComponent.cshtml(调用嵌套视图组件)-->
@model SomeViewComponentViewModel
<span><vc:some-other view-model="Model.SomeProperty" /></span>
一些使用 SomeViewComponent 的视图 -->
@model SomeViewModel
<vc:some view-model="Model.SomeViewComponentViewModel" />
解决方案
推荐阅读
- reactjs - 递增和递减反应钩子
- c# - 映射非简单类型的属性时忽略 AutoMapper UseDestinationValue
- macos - 如何修复 Mac Big Sur 中的“brew cleanup”?
- cmake - 致命错误:libusb/libusb.h:没有为 GNU 无线电安装这样的文件或目录 librtlsdr
- excel - 如何在 Excel 中使用 VBA 将某些行复制到不同工作表上的不同范围?
- python - 查找可删除素数时如何使用更少的内存?
- c - 将结构指针传递给函数不会对其进行编辑
- python - 为什么我没有使用 torch.save 获得输出?
- java - 如何在循环中添加有限的 3 次尝试?
- python - 是否可以删除用 Python 中的函数创建的画布对象?