Частичные просмотры замедляются по мере увеличения списка объектов на другой странице - PullRequest
0 голосов
/ 16 апреля 2020

У меня довольно странная проблема, которую я не могу обернуть.

Позвольте мне попытаться объяснить мои предпосылки:

У меня есть веб-сайт, на котором есть индексная страница со списком. Список является относительно простым, что означает, что он содержит объекты, состоящие исключительно из текстовых данных. Из списка каждая строка имеет ссылку, которая перенаправляет пользователя (Url.Actionlink с параметром id) на страницу редактирования, указывающую c на объект в строке.

Страница редактирования содержит 4 частичных просмотра (Html.RenderPartialAsync()), которые я перемешиваю, когда пользователь нажимает определенные кнопки. Например, пользователь может сохранить изменения, внесенные в объект. (довольно просто c хотя)

Теперь возникает моя проблема:

Первоначально, когда список далеко не полный на моей странице индекса, все работает гладкий; плавный. Частичные представления загружаются быстро, и я могу без проблем редактировать.

Однако, когда список заполняется, все значительно замедляется. Частичные представления загружаются крайне медленно (это увеличивается, поскольку список заполняется еще большим количеством элементов). Кроме того, правка объектов слишком медленная.

Самое странное в этом то, что соответственно страница индекса и страница редактирования используют две разные модели. (будет вашей первой мыслью, хотя) - Могу ли я добавить, что это две разные страницы! Кроме того, другие страницы не затрагиваются вообще.

Я использовал chrome маяк, чтобы проверить время загрузки, и я вижу, что скрипты - это то, что мешает времени загрузки, когда список заполнен. Изначально, когда список почти пуст, ничего не заметно.

Я попробовал следующее

  • Я произвел рефакторинг всех моих jQuery для компонентов, то есть очистил мои селекторы
  • Включено сжатие GZIP
  • проверил скорость вызовов модели моего контроллера (без проблем)

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

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

Что здесь происходит и что мне делать? Мне не очень нравится отбрасывать мои частичные представления, поскольку это сделало бы мой html очень неуклюжим - даже если это решит проблему ...

Я использую. net core 3.1

...