Визуализация частичного представления в строку в Asp.net Core 2.2 - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь использовать 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.Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

1 Ответ

0 голосов
/ 12 февраля 2019

Почему Json приводит к строке html?Вы можете вернуть частичное представление напрямую, чтобы вернуть HTML.

public IActionResult GetUpsertPartialView(MessageBoard messageBoard)
{

    return PartialView("someviewname", messageBoard);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...