¿Cómo usar AJAX para ViewComponent en Asp.Net Core? Eso es llamar al método @Component.Invoke ("ComponentName", SomeData); ViewComponent involucrará varias vistas dependiendo de SomeData sin reiniciar la vista principal.
Actualizar
Mi solución es:
$(function () { $(Container).load('ControllerName/ControllerAction', { ArgumentName: ArgumentValue }); });Controlador :
public IActionResult ControllerAction(string value) { return ViewComponent("ViewComponent", value); }¿Hay alguna forma de usar directamente un ViewComponent como AjaxHelpers en versiones anteriores?
Tu solución es correcta. De los documentos:
[ViewComponents son] no accesibles directamente como un punto final HTTP, se invocan desde su código (generalmente en una vista). Un componente de vista nunca maneja una solicitud.
Si bien los componentes de vista no definen puntos finales como los controladores, puede implementar fácilmente una acción de controlador que devuelva el contenido de ViewComponentResult.
Entonces, como sugirió, un controlador liviano puede actuar como un proxy AJAX para nuestro ViewComponent.
public class MyViewComponentController : Controller { [HttpGet] public IActionResult Get(int id) { return ViewComponent("MyViewComponent", new { id }); } }