Я пытаюсь использовать AJAX для вызова моего контроллера и возврата частичного представления с моделью в виде строки, чтобы я мог вставить ее в свой HTML.Я делал это раньше в MVC5 с использованием интерфейса контроллера, но я не могу найти ничего о том, как сделать это для частичного просмотра в Asp.Net Core 2.2.Я нашел примеры того, как визуализировать View в строку, но я не смог изменить их для работы с частичным представлением.
Действие контроллера:
public JsonResult GetUpsertPartialView(MessageBoard messageBoard)
{
Dictionary<string, string> result = new Dictionary<string, string>();
string errorState = "0";
string errorMessage = "";
try
{
result["view"] = ""; // My call to render the Partial View would go here.
}
catch (Exception)
{
errorState = "1";
errorMessage = "An error was encountered while constructing the View.";
}
result["errorState"] = errorState;
result["errorMessage"] = errorMessage;
return Json(result);
}
Вызов AJAX:
$.ajax({
type: "GET",
url: "../Home/GetUpsertPartialView/",
data: messageBoardData,
contentType: 'application/json; charset=utf-8',
success: function (data) {
console.log(data);
$("#messageBoardModalBody").val(data.view);
$("#messageBoardModal").modal("show");
}
});
Я подтвердил, что мой контроллер получает доступ, параметры передаются правильно, и яя получаю верные данные из действия на мой вызов AJAX.Единственное, чего мне не хватает, - это возможности визуализировать частичное представление непосредственно в строку.
Если есть другой способ сделать это в Asp.net Core, я открыт для других вариантов.
Примечание: я просто делаю это для изучения Asp.Net Core.Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.