如何在ASP.NET Core中使用Ajax进行viewComponent?这就是调用方法
@Component.Invoke ("ComponentName", SomeData);
视图组件将涉及各种视图,具体取决于SomeData
而无需重新启动主视图。
update
我的解决方案是:
$(function () {
$(Container).load('ControllerName/ControllerAction', {
ArgumentName: ArgumentValue });
});
Controller:
public IActionResult ControllerAction(string value)
{
return ViewComponent("ViewComponent", value);
}
有一种方法可以直接将ViewComponent用作以前版本中的Ajaxhelpers?
您的解决方案是正确的。
文档:[视图组件]无法直接作为HTTP端点直接到达,而是从您的代码中调用它们(通常在视图中)。视图组件永远不会处理请求。 当视图组件无法定义诸如控制器之类的端点时,您可以轻松实现控制器操作,该操作返回viewcomponentresult的内容。
正如您所建议的那样,轻量级控制器可以充当我们ViewComponent的AJAX代理。public class MyViewComponentController : Controller { [HttpGet] public IActionResult Get(int id) { return ViewComponent("MyViewComponent", new { id }); } }