我制作了一个组件:
public class CatSearchComponent : ViewComponent
{
public async Task<IViewComponentResult> InvokeAsync()
{
return View();
}
}
@await Component.InvokeAsync("CatSearchComponent")
在组件中,我有一个按钮,我想使用jquery $ .ajax来调用方法并在组件内呈现一些数据,例如一个名为GetCats()
的操作,它返回一些Json数据。
最好将此方法放入组件中,因为它是特定于组件的。
但是我不确定在$ .ajax调用中将放入什么URL来调用这样的方法,或者即使MVC中允许使用该URL。
我可以创建一个新的控制器并对其进行操作以获取数据,但是如果将其与我的ViewComponent结合使用,那就太好了。有办法吗?
答案 0 :(得分:0)
您可以,但不能直接。
您可以在MVC控制器中创建ActionResult,该控制器将返回ViewComponent结果。然后在JavaScript / jQuery中调用控制器。
有关完整说明和代码,请参见以下StackOverflow答案:
Viewcomponent alternative for ajax refresh
(全称@ daniel-j-g)