Невозможно загрузить ViewComponent через jQuery - PullRequest
0 голосов
/ 12 мая 2018

Код ViewComponent:

public class EducationShowViewComponent : ViewComponent
{
    private databaseContext _dbContext = new databaseContext();

    public IViewComponentResult Invoke(string candidateId)
    {
        var educations = _dbContext.Candidates.Include(j => j.CandidateEducations)
           .Single(j => j.UserId == candidateId)
           .CandidateEducations;

        return View(educations);
    }
}    

Контейнер компонента, который загружает компонент в порядке загрузки страницы:

<div class="edu-history-sec">
    @await Component.InvokeAsync("EducationShow") , new { candidateId = ViewBag.InvokeEducationWithId })
</div>

Но это не работает, когда я пытаюсь перезагрузить контейнер, используя $.get.

$('.loadview').on('click', function () {
    alert('before $.get'); // OK
    $.get('/Candidate/EducationShowViewComponent/1012', function (data) {
        alert('inside $.get'); // not executing
        $('.edu-history-sec').html(data);
    });
});

Код действия контроллера-кандидата

public IActionResult EducationShowViewComponent(string id)
{
    return ViewComponent("EducationShow", new { candidateId = id });
}

Есть ли что-то, что я делаю не так, я застрял в этом в течение 2 дней, не в состоянии заставить его работать!?

Заранее спасибо!

1 Ответ

0 голосов
/ 19 июня 2018

Вы можете просто позвонить по номеру $.get("EducationShow/Invoke", (html) => {...})

Единственная проблема, которую я вижу, заключается в том, что вы получите полную HTML-страницу, а не только «частичное представление»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...