Вопрос

У меня есть веб-приложение, которое я пытаюсь оптимизировать.Некоторые элементы управления скрыты в диалоговом режиме DIVs.Итак, я бы хотел, чтобы они загружались через AJAX только тогда, когда пользователь хочет их видеть.Это нормально для элементов управления, которые в основном основаны на буквах (различные меню и виджеты), но когда у меня есть то, что я называю "грязными" элементами управления - те, которые записывают обширную информацию в ViewState, размещают тонны CSS или скриптов на странице, требуют много ссылок и т.д. - Их, по-видимому, невозможно переместить "за пределы страницы", особенно учитывая, как ASP.NET отреагирует на обратную отправку.

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

В моем воспаленном воображении я хочу сделать это:

AJAXifier.AJAXify(ctlEditForm);

К сожалению, я знаю, что это сон.

Насколько близко я действительно могу подойти к быстрой и легкой аяксификации, не вызывая слишком большой нагрузки на сервер?

Это было полезно?

Решение

Посмотрите на Рададжакс управление от Telerik - это позволяет вам избежать использования UpdatePanels и ограничить объем информации, передаваемой взад и вперед между сервером и клиентом, объявляя прямые связи между вызывающими элементами управления и элементами управления, которые должны быть "Ajaxified", когда вызывающие элементы управления отправляют обратную передачу.

Другие советы

Я рекомендую вам в эти выходные зайти в местный книжный магазин, выпить чашечку кофе и ознакомиться с jQuery в действии от Manning Press.Продолжайте и прочтите первую главу этой 300-страничной книги в магазине, а затем купите ее, если она найдет отклик у вас.

Я думаю, вы будете удивлены тем, насколько легко jQuery позволяет вам выполнять то, что вы здесь описываете.От ajax-вызовов на сервер в фоновом режиме до отображения и скрытия div-тегов в зависимости от действий посетителя.Объем кода, который вам нужно написать, очень мал.

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

Шаг первый - сделать ваши "грязные" фрагменты автономными от пользовательских элементов управления

Шаг второй - внедрить эти элементы управления на вашу страницу использования

Третий шаг заключается в том, чтобы обернуть каждый тег пользовательского элемента управления в свой собственный Asp: UpdatePanel

Четвертый шаг заключается в том, чтобы убедиться, что ваш элемент управления получает необходимые ему данные, прочитав их из свойств, которые проверяют viewstate на наличие ранее существовавших значений.Я знаю, что это заставляет ваш код полагаться на уродливые глобальные переменные, но это быстрый способ сделать это.

Ваш пробег может отличаться.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top