2010-11-01 2 views
0

Я ищу оптимизацию страниц в нашем приложении, чтобы они работали лучше. Я хочу динамически добавлять элементы управления (текстовое поле, кнопка, пользовательский контроль и т. Д.) На страницу с помощью AJAX, чтобы свести к минимуму обратную передачу. Я ищу альтернативу использованию UpdatePanel (нет ничего плохого в них, они просто не созданы для производительности).Как я могу асинхронно добавлять элементы управления на страницу asp.net?

Уловка заключается в том, что ViewState необходимо будет обновить с добавленными новыми элементами управления, поэтому я не могу видеть, что WebServices или статические вызовы метода страницы хорошо подходят здесь.

+0

Если вы рассматриваете такие виды оптимизации, вам следует не использовать ASP.NET AJAX вообще, а вместо этого использовать фреймворк, например jQuery, для всех ваших Ajax. Я не знаю никаких профессиональных веб-разработчиков .NET, работающих на корпоративных решениях, использующих ASP.NET AJAX. – SnickersAreMyFave

ответ

0

Ajax calls не может обновить viewstate, поскольку он создан в коде позади.

Возможно, если вам удастся получить доступ к серверу на сервере виджетов, вы можете отправить его обратно в вызов ajax и сохранить его в поле viewstate, но вы рискуете потерять что-либо, что не было затронуто в обратном вызове, я никогда не углублял это глубоко в ViewState.

+0

Да, именно поэтому я подумал об использовании обработчика, так как я все еще обрабатываю запрос страницы. При вызове Ajax на страницу не создается процесс полной страницы. Мне бы хотелось узнать о каком-либо опыте в этом. – Matt

+0

Вы можете активировать состояние сеанса в веб-методах, но я не знаю о состоянии представления, поскольку он сериализуется со страницы, и если все элементы управления не инициализируют его, его десериализовать сложно. –

Смежные вопросы