ajax带有ViewComponent

问题描述 投票:0回答:1

如何在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?
    

您的解决方案是正确的。

文档:
asp.net ajax asp.net-core-mvc
1个回答
19
投票

[视图组件]无法直接作为HTTP端点直接到达,而是从您的代码中调用它们(通常在视图中)。视图组件永远不会处理请求。 当视图组件无法定义诸如控制器之类的端点时,您可以轻松实现控制器操作,该操作返回viewcomponentresult的内容。

正如您所建议的那样,轻量级控制器可以充当我们ViewComponent的AJAX代理。
public class MyViewComponentController : Controller { [HttpGet] public IActionResult Get(int id) { return ViewComponent("MyViewComponent", new { id }); } }

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.