Я пытаюсь динамически изменить компонент представления, который присутствует при изменении раскрывающегося списка.Пожалуйста, найдите мой код JavaScript ниже: // поменяйте местами виджет при выборе выпадающего меню, сохраните в БД после сохранения конфигурации виджета
$("select[name='elementDrpdwn']").change(function () {
var el = $(this);
var widget = el.parent().parent().parent().find(".gs-content-body");
var idElement = el.parent().parent().parent().parent();
$.ajax({
url: "@Url.Action("AddComponent", "Home")",
type: 'GET',
data: { viewComponent: "News" },
cache: false,
async: false,
success: function (res) {
console.log(res);
},
error: function (xhr, status, error) {
alert(xhr.responseText);
}
}).done(function (success) {
widget.html('');
widget.html(success);
});
});
Кроме того, ниже находятся контроллер и вызываемый компонент представления (в конечном итоге мое намерениезаменить «Новости» выше на имя элемента, поскольку оно может быть одним из многих): Контроллер
public IActionResult AddComponent(string viewComponent)
{
return View(viewComponent);
}
Просмотр компонента
[ViewComponent(Name = "News")]
[Route("News")]
public class NewsViewComponent : ViewComponent
{
private readonly MultiTenantContext _context;
public NewsViewComponent(MultiTenantContext context)
{
_context = context;
}
public async Task<IViewComponentResult> InvokeAsync()
{
var model = _context.NewsItems.ToList();
return await Task.FromResult((IViewComponentResult)View("News", model));
}
}
Я получаю следующую ошибку, когда яизменить раскрывающийся список:
Не удалось загрузить ресурс: сервер ответил с состоянием 500 (Внутренняя ошибка сервера)
Не могу понять, почему это не работает,Пожалуйста, кто-нибудь может мне помочь