Действие контроллера вызывается дважды при загрузке представления - PullRequest
0 голосов
/ 16 октября 2019

Я работаю над основным приложением asp.net, где я загружаю представление по щелчку гиперссылки. Представление загружается нормально, но странная вещь, которая происходит здесь, заключается в том, что всякий раз, когда я нажимаю на гиперссылку, вызов действия контроллера выполняется дважды. Я случайно обнаружил эту проблему, когда поставил точку отладки на метод действия, и он получил дважды. Затем я также проверил вкладку сетевого трафика в браузере, там также я заметил, что два вызова действия контроллера были записаны дважды.

Разметка гиперссылки на странице макета:

<li><a asp-action="ApplyLeave" asp-controller="Home">Apply Leave</a></li>

Метод действия контроллера:

[HttpGet]
public IActionResult ApplyLeave()
        {
            .......
            .......
            .......
            return View();
        }

ApplyLeave.cshtml

@{
    ViewData["Title"] = "Apply Leave";
}
<header class="page-header">
    <div class="container-fluid">
        <div class="row">
            <div class="col-12">
                <h2 class="no-margin-bottom">
                    Apply Leave
                </h2>
            </div>
        </div>
    </div>
</header>

Снимок экрана сетевого трафика, захваченного в браузере: enter image description here

Пожалуйста, помогите мне в решенииэтот вопрос, спасибо заранее!

Ответы [ 2 ]

1 голос
/ 16 октября 2019

Если вы видите свой запрос в окне консоли на вкладке сети, существует два вида запроса: -

1: Тип документа 2: XmlHttpRequest

Запрос типа документа поступает из представленияэто ссылка действия, в которой упоминается имя метода действия, но если вы видите другой запрос, этот запрос поступает из среды Javascript.

Пожалуйста, ознакомьтесь с официальным определением XMLHttpRequest: - XMLHttpRequest (XHR) - это API вформа объекта, методы которого передают данные между веб-браузером и веб-сервером. Объект предоставляется в среде JavaScript браузера.

Пожалуйста, подтвердите один раз свою часть JS.

0 голосов
/ 17 октября 2019

Спасибо вам всем за внимание. У меня есть site.js, где я храню весь код скрипта и код для вызовов ajax. Был вызов ajax, который предназначался для вызова на определенной странице, но из-за неправильного кода этот вызов ajax срабатывал после каждой другой загрузки страницы. Поэтому я исправил код для этого вызова ajax, и теперь я не вижу повторяющихся вызовов контроллера, все работает нормально. Спасибо всем.

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