2011-04-09 6 views
1

Я погружаюсь в развитие веб-сайтов. Основываясь на различных советах, я начну с обращения к html, css и javascript.AJAX, IIS, ASP.NET

Меня интересует Ajax, я ознакомился с кодом на стороне клиента, и это выглядит достаточно прямо, я немного смущен тем, что я делаю на стороне сервера.

Я использую IIS и ASP.NET. У меня был Google, но я не могу найти ничего простого или текущего. Есть много разговоров о наборе инструментов Ajax, которые, я считаю, являются элементами управления, которые используют Ajax (и могут быть удалены?). Все остальное, похоже, основано на старых версиях, которым я не доверяю.

Итак, что на самом деле, что мне нужно делать в IIS для ответа на вызов AJAX?

Быстро в сторону, я считаю, мы можем использовать JSON для сериализации объектов ?? Я предполагаю, что мне не нужно в интересах простого прогона образца?

Итак, у меня есть вызов Ajax, который будет иметь один параметр, и я хочу вернуть «что-то» на основе параметра. Каков самый простой код для этого с IIS и ASP.NET?

Благодаря

ответ

2

вызов AJAX в основном просто обычный звонок на ваш сайт. Единственное различие заключается в том, как браузер обрабатывает его - вызовы AJAX выполняются в фоновом режиме с помощью Javascript (J в AJAX), а затем что-то делают с данными. Вы можете взять URL-адрес, с которым вы звоните AJAX, и поместить его в свою адресную строку, и он вернет одни и те же данные. Итак, в основном, то, что вы делаете на стороне сервера, - это именно то, что вы сделали бы, как если бы это была форма, представляемая, например.

Что касается сериализации объектов, да, JSON может это сделать.

+0

Это был концептуальный скачок, который я искал, это вдруг намного яснее :) – Ian

1

Прежде всего, делать ajax не имеет ничего общего с IIS; это связано с ASP.NET.

Есть по существу 2 способа сделать AJAX в .net

1) Интенсивное использование рамок. Вы можете поместить свои элементы управления asp (такие как литералы, gridviews, listbox ...) в элемент управления, называемый панелью обновления. Для этого вам нужно добавить диспетчера сценариев на страницу aspx. Затем, когда пользователь вызывает событие (например, разбиение на страницы и сортировку таблицы), запрос обрабатывается инфраструктурой, и обновляется только часть страницы, которая находится в обновленной панели. Другой способ поднять события - с помощью функции __doPostback, которая поставляется с инфраструктурой asp.net. Недостатком этого метода является то, что многие данные должны перемещаться между пользователем и сервером, чтобы он мог быть медленным. Потенциал заключается в том, что вам не нужно беспокоиться о создании HTML, поскольку элементы управления asp обрабатывают его для вас.

2) Тяжелое использование Json. С помощью этого метода вы можете использовать jQuery для вызова метода страницы или веб-службы. Вы отправляете объект json на сервер, и вы возвращаете объект json. С jQuery это очень просто. Недостатком этого метода является то, что вы получаете только данные json: нет форматированного HTML. Итак, если вы хотите обновить таблицу, этот метод будет утомительным, потому что вам придется воссоздать весь HTML. Однако потенциал метода заключается в том, что он очень быстрый, поскольку передаются только исходные данные. Если вы реализуете веб-службу, вам даже не нужно создавать целую страницу.

Что вам нужно с сервера?

Если вы хотите вернуть «что-то» с сервера, который «прост» (только данные), я бы рекомендовал веб-службу с jquery для запуска вызова. Если возвращаемые данные являются «сложными» (html-код для элементов управления), я бы рекомендовал использовать MS ajax с панелью обновления.

+0

я не согласен с недостатком №2. Фактически, вы можете отправить обратно данные HTML с помощью jquery и использовать функцию 'jQuery.load' для заполнения данных в выбранном вами элементе. На стороне сервера вы можете написать простой метод RenderControl, чтобы вернуть результат html для вашего элемента управления. Рик Страйл написал метод RenderControl. Взгляните на http://west-wind.com/Weblog/posts/298307.aspx – Kamyar

+0

Хороший ответ. Интересно, не так ли, количество звонков, которые должны быть сделаны на веб-сервер, должно быть взлетело с появлением ajax. – Ian

1

Не используйте набор инструментов AJAX Control Toolkit, библиотеку AJAX ASP.NET, обновленные панели или элемент управления scriptmanager. Microsoft в значительной степени отбросила лот в пользу jQuery и его плагинов (разумно).

Вот лишь некоторые из способов, вы можете использовать AJAX с JQuery в ASP.NET: Many ways to communicate with your database using jQuery AJAX and ASP.NET

+0

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