2009-04-01 2 views
0

У меня есть страница ASP.NET, взаимодействующая с бизнес-классом. Я хочу постоянно обновлять элементы управления на своей странице на основе введенных пользователем значений, например. обновить итоги. Расчеты встроены в бизнес-логику, но они достаточно просты, чтобы воспроизвести их в другом месте. Я подумал о трех способах достижения этой цели:Постоянно обновлять страницу ASP.NET с помощью AJAX

  1. Динамическое обновление страницы с использованием JavaScript. Я не хочу этого делать, потому что я не хочу рисковать математическими проблемами с плавающей запятой, где значения на странице не соответствуют значениям, рассчитанным бизнес-классом (эти свойства являются десятичными).
  2. Очистить вычисленные поля от изменений и заставить пользователя нажать кнопку пересчета. Это плохой опыт работы с пользователями и подключение JavaScript к элементам управления ASP.NET является утомительным.
  3. Используйте AJAX UpdatePanel, установите элементы управления вводом данных в autopostback и обработайте «измененное» событие для элемента управления, например. TextChanged для TextBox.

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

Мой вопрос: Является ли это хорошей идеей и/или обычной практикой? Есть ли лучшие пути для этого?

Я не работал ASP.NET в течение нескольких лет, и у меня есть предвзятое отношение к автоповтору [1]. Я посмотрел размер запроса, и в настоящее время он пренебрежимо мал на 1,5 КБ. Сайт будет использоваться мало, но у нас может быть небольшое количество пользователей с коммутируемыми соединениями.

  1. И ASP.NET в целом, но времена жесткие.

ответ

0

Вы правильно поняли, что третий вариант - ваш лучший. Это та вещь, для которой создан AJAX. Действуй.

5

Лично я считаю UpdatePanel слишком тяжелым. Вы можете использовать jQuery вместе с функцией веб-сервиса ASP.NET, которая выводит JSON.

+0

Прямой ashx w/jayrock, asp.net mvc с jsonresult и услугой wcf - все это приличные варианты в этой строке. – Tracker1

+0

Это хорошие ответы, но у меня нет времени изучать несколько новых технологий для этого проекта. –

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