панель с ложной видимостью против загрузки удаленного контента - PullRequest
1 голос
/ 24 июля 2011

Если у меня есть несколько материалов, которые будут отображаться после некоторого выбора и события щелчка.Например, если я выбираю пункт 1, отображается только контент 1, а если я выбираю пункт 3, отображается только контент 3.

Что лучше (относительно времени загрузки страницы):

1) размещать каждый контент на отдельной панели (с видимостью = false).и если он выбран, видимость устанавливается в true.

2) помещать каждое содержимое на удаленную HTML-страницу и загружать его методом jquery ajax, если выбран.

Спасибо.

Ответы [ 3 ]

0 голосов
/ 24 июля 2011

Загрузка методом ajax является масштабируемой, вы не хотите скрывать более 100 элементов, это замедляет работу страницы. Но с другой стороны, если есть только несколько элементов, вы можете выбрать первый вариант, так как он не сильно загружает сервер.

0 голосов
/ 25 июля 2011

Ваши условия должны быть уточнены.

  • Вы делаете невидимым элемент управления asp.net и не устанавливаете его свойство css равным невидимому. Если это так, то на самом деле не имеет значения, где вы храните данные. Вам все еще придется сделать обратную передачу (полную или частичную), чтобы получить данные, так как вы просто отрисовываете минимум. (без скрытых панелей с информацией)

  • Когда вы говорите «удаленную» html-страницу, вы просто подразумеваете, что храните контент в другом файле на одном сервере, или вы имеете в виду контент на удаленном сервере? Это единственное, что повлияет на время загрузки для вас. Если это на удаленном сервере, то это займет больше времени. Если он находится в другом файле, он не будет сильно отличаться от помещения этой информации в тот же файл.

0 голосов
/ 24 июля 2011

Опция 1 приведет к более медленной начальной загрузке страницы, но больше запросов не будет.

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

На самом деле есть третий вариант, когда вы сначала загружаете только панель 1, а затем загружаете другие панели в фоновом режиме с помощью AJAX.

...