什么是 Invoke 和 InvokeAsync 方法?
What are Invoke & InvokeAsync methods?
什么是调用方法?
下面是我的viewcomponent()
方法。
public IViewComponentResult Invoke()
{
ViewBag.SelectedCategory = RouteData?.Values["category"];
return
View(repository.Products.Select(x=>x.Category).Distinct().OrderBy(x=>x));
}
这是匿名函数吗?
这个函数的名称是什么?
我尝试将 "Invoke" 更改为 "func" 但是没有语法错误但是 运行-时间错误发生。
是否可以在单个视图组件中使用多个名称为 "Invoke" 并接收不同参数的方法 class。
我知道视图组件用于为此呈现部分视图我们使用助手,它是这个
@await Component.InvokeAsync("Here is the name of your view component")
"component.InvokeAsynk" 转到您的组件 class 并找到 Invoke 方法,然后遵循此方法
ViewComponent
上的 Invoke
和 InvokeAsync
方法是定义视图组件逻辑的方法。这些不是匿名函数。它们是常规的 c# 方法,仅具有名称 Invoke
和 InvokeAsync
.
您不需要在视图组件中同时定义它们。
相反你只能定义一个方法。
假设您将其命名为 Invoke
然后将其重命名为 func
然后您更改了方法的名称:
- 你不会得到编译器错误,但是
- 将发生运行时错误。
这是因为调用您的视图组件的 Asp.Net 核心框架代码期望它具有 Invoke
或 InvokeAsync
方法,而您的 ViewComponent
现在两者都没有.
您可以随意命名您的视图组件,但调用它的方法的名称必须称为 Invoke
或 InvokeAsync
。
一个ViewComponent
只能有一个Invoke
或InvokeAsync
方法。 ViewComponent
不能同时拥有两者,也不能是其中任何一个的倍数(具有不同的参数)。尝试这样做会产生以下运行时错误:
View component 'ViewComponents.NameOfComponent' must have exactly one public method named 'InvokeAsync' or 'Invoke'.
什么是调用方法?
下面是我的viewcomponent()
方法。
public IViewComponentResult Invoke()
{
ViewBag.SelectedCategory = RouteData?.Values["category"];
return
View(repository.Products.Select(x=>x.Category).Distinct().OrderBy(x=>x));
}
这是匿名函数吗?
这个函数的名称是什么?
我尝试将 "Invoke" 更改为 "func" 但是没有语法错误但是 运行-时间错误发生。
是否可以在单个视图组件中使用多个名称为 "Invoke" 并接收不同参数的方法 class。
我知道视图组件用于为此呈现部分视图我们使用助手,它是这个
@await Component.InvokeAsync("Here is the name of your view component")
"component.InvokeAsynk" 转到您的组件 class 并找到 Invoke 方法,然后遵循此方法
ViewComponent
上的 Invoke
和 InvokeAsync
方法是定义视图组件逻辑的方法。这些不是匿名函数。它们是常规的 c# 方法,仅具有名称 Invoke
和 InvokeAsync
.
您不需要在视图组件中同时定义它们。 相反你只能定义一个方法。
假设您将其命名为 Invoke
然后将其重命名为 func
然后您更改了方法的名称:
- 你不会得到编译器错误,但是
- 将发生运行时错误。
这是因为调用您的视图组件的 Asp.Net 核心框架代码期望它具有 Invoke
或 InvokeAsync
方法,而您的 ViewComponent
现在两者都没有.
您可以随意命名您的视图组件,但调用它的方法的名称必须称为 Invoke
或 InvokeAsync
。
一个ViewComponent
只能有一个Invoke
或InvokeAsync
方法。 ViewComponent
不能同时拥有两者,也不能是其中任何一个的倍数(具有不同的参数)。尝试这样做会产生以下运行时错误:
View component 'ViewComponents.NameOfComponent' must have exactly one public method named 'InvokeAsync' or 'Invoke'.