Просмотр не рендеринга при передаче данных AJAX в контроллер - PullRequest
0 голосов
/ 23 мая 2018

В моем контроллере есть следующий actoin:

[HttpPost]
    public ActionResult ShowClient(string ClientCode)
    {
        if (ClientCode == null)
        {
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest);

        }
        ClientViewModel clientViewModel = this.clientService.FindByClientCode(ClientCode);
        if (clientViewModel == null)
        {
            return HttpNotFound();

        }

        return View("ShowClient", clientViewModel);
    }

Следующий код ajax выполняет действие в контроллере:

$.ajax({
                type: "POST",
                url: "/Client/ShowClient",
                data: "ClientCode=" + code/*{ "ClientCode": code }*/, //First item has latest ID
                //contentType: "application/json; charset=utf-8",
                success: function (data) {
                    if (data.length !== 0) {
                        console.log(data);
                    }
                },
                error: function (data) {
                    console.log(data);
                }
            });

И представление:

@model BusinessModels.ClientViewModel


@{
    ViewBag.Title = "Show Client";
}

some usual html form

Однако мое представление не отображается.
Когда я отлаживаю код, я вижу, что clientViewModel содержит данные, и отладка идет в моем представлении.Есть идеи, почему он не отображает вид?

Может быть, я смогу использовать RedirectToAction?

1 Ответ

0 голосов
/ 23 мая 2018

Вам необходимо загрузить HTML в div и определить dataType: "HTML".

  $.ajax({
              type: "POST",
            url: "/Client/ShowClient",
            data: "ClientCode=" + code/*{ "ClientCode": code }*/, //First item has latest ID
                contentType: "application/json; charset=utf-8",
                dataType: "html",
                success: function (data) {
                    $('#dialog').html(data);
                },
                failure: function (response) {
                    alert(response.responseText);
                },
                error: function (response) {
                    alert(response.responseText);
                }
            });
        });

для получения более подробной информации см. Рабочий пример

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