Ajax.ActionLink Alternative mit MVC Core

n MVC5 gibt es@Ajax.ActionLink das ist nützlich, um nur eine Teilansicht zu aktualisieren, anstatt die gesamte Ansicht neu zu laden. Anscheinend wird MVC6 nicht mehr unterstützt.

Ich habe versucht mit@Html.ActionLink wie folgt, aktualisiert das Formular jedoch nicht, sondern gibt nur die Teilansicht zurück:

Aussicht

@Html.ActionLink("Update", "GetEnvironment", "Environments", new { id = Model.Id }, new
       {
           data_ajax = "true",
           data_ajax_method = "GET",
           data_ajax_mode = "replace",
           data_ajax_update = "environment-container",
           @class = "btn btn-danger"
       }) 

Steuerung

public async Task<ActionResult> GetEnvironment(int? id)
{

        var environments = await _context.Environments.SingleOrDefaultAsync(m => m.Id == id);
        return PartialView("_Environment",environments);
} 

Teilansicht

@model PowerPhysics.Models.Environments
this is a partial view

Dann habe ich versucht, ViewComponents zu verwenden. Wenn die Seite geladen wird, funktioniert die Komponente ordnungsgemäß, aber ich verstehe nicht, wie ich die Komponente anschließend aktualisieren kann (z. B. mit einer Schaltfläche):

Aussicht

@Component.InvokeAsync("Environments", new { id = Model.Id }).Result

Komponente

public class EnvironmentsViewComponent : ViewComponent
{
    public EnvironmentsViewComponent(PowerPhysics_DataContext context)
    {
        _context = context;
    }

    public async Task<IViewComponentResult> InvokeAsync(int? id)
    {
        var environments = await _context.Environments.SingleOrDefaultAsync(m => m.Id == id);

        return View(environments);
    }
}

Wie kann ich nur einen Teil einer Ansicht mithilfe von PartialViews in MVC6 aktualisieren?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage