Метод ActionResult в .NET MVC загружается дважды - PullRequest
0 голосов
/ 31 января 2019

Я работал над чем-то сегодня над своим проектом, и заметил кое-что очень странное, что происходит на всех моих страницах индекса в проекте.Например, у меня есть действие, которое выглядит следующим образом:

   public ActionResult Index(string id=null, string IsOld=null)
   {

        string id = null;
        string IsOld = null;
        return View();  
   }

Без каких-либо ориентировочных причин этот метод вызывается дважды.Например, если я поставлю точку останова на:

   string id = null;

, я увижу, как компилятор дважды останавливается на этой строке кода, пока страница загружается ... На некоторых страницах этого не происходит.Я проверил страницу и скрипты, но ничего, что указывало бы на вызов этого же метода дважды при загрузке ... Это очень странно, и я не понимаю, почему это происходит?

Кто-нибудьсталкивались ли вы с подобными проблемами раньше, кто-нибудь может мне помочь?

PS Я также пытался отключить все сценарии на этой странице, чтобы исключить возможность того, что какой-то javascript выполняет публикацию или вызовет метод дважды ...Даже при отключении всех скриптов я все равно получаю двойной вызов ...

1 Ответ

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

Я видел такое поведение раньше, особенно по URL-адресу по умолчанию, это может быть несколько вещей:

  • Пустые теги изображений
  • Пустые теги src в теге сценария
  • Пустая ссылка на теге css
  • Google adwords вызвал это однажды - у них была ошибка в прошлом году IIRC
  • Вложенные формы в html
  • Забытый мета-тег обновления головы
  • Обработчик щелчков JS с двойной связью
  • Html.RenderAction в виде вложенных объектов - вне поля зрения, из виду и т. Д.

Будет хорошей идеей запуститьсетевой инспектор в вашем браузере по выбору.Если вы видите, что двойной вызов инициируется в браузере, он сообщит вам, является ли он клиентским или что-то еще внутри ваших страниц бритвы вызывает это.

Счастливая охота

...