Лучшая практика для вызовов AJAX в .Net 1.1 - PullRequest
4 голосов
/ 05 января 2009

Ну, мой последний контракт заставляет меня погрузиться в античный мир .Net 1.1.

Поскольку я уже довольно давно использую jQuery и Rails, AJAX-подобные решения проблем продолжают всплывать в моей голове, и я не могу не написать их.

Так что моя довольно прямолинейная проблема заключается в том, что у меня есть 3 действия, которые мне нужно выполнить над записью (вставка, обновление и удаление), я могу обрабатывать индекс и показывать, используя элементы управления ASP.Net и JavaScript.

Я использую jQuery для всего моего AJAX.

Я подумал об этом, представляя простую страницу ASPX, которая выступает в качестве контроллера для этих трех действий, предоставляя ей анемичное представление и обрабатывая весь рендеринг возвращаемых данных с использованием конкатенации строк. Есть ли лучший образец для использования здесь? Как вы взломали Ajax в ASP.Net 1.1?

Я видел этот пост на ajaxprojects , который использует несколько похожую технику, за исключением того, что они выполняют 1 страницу на действие ajax.

Ответы [ 4 ]

3 голосов
/ 05 января 2009

Мы привыкли использовать ajax в классическом ASP, просто отправляя сообщения XML на страницу ASP, которая загружала бы XML из тела запроса.

Вы можете сделать это, используя страницу ASHX (обработчик ASP.Net). У вас не будет никаких дополнительных затрат на объекты страницы. Таким образом, вы можете в основном создать полезную нагрузку Xml (или json, или что угодно), разместить ее на странице ashx, которая имеет единственный метод, который будет проверять, выполняет ли запрос то, что вам нужно, и возвращает нужные вам результаты.

1 голос
/ 06 января 2009

Чем больше вы покидаете парадигму веб-контроля и чем меньше состояния просмотра вы используете, тем проще это будет, что удивительно, но верно. Тем не менее, разработка ASP.NET защищает нас от HTML, CSS и JavaScript, и лишь немногие разработчики ASP.NET готовы немедленно с ними так напрямую справиться, так что сначала лучше выбрать золотую середину.

Хорошая новость заключается в том, что ASP.NET 1.1 очень хорошо работает с jQuery, и вы можете делать все, что захотите, от полного отказа от веб-элементов управления до простого использования необработанного HTML с jQuery, до полного использования ASP.NET и всего лишь немного jQuery, скажем, проверить на клиенте и тем самым избежать обратной передачи.

Примером использования промежуточного маршрута может быть создание обычной сетки данных, в идеале отключенной на отдельной странице, окруженной только элементом формы (с удаленным runat = server), или, возможно, просто элементом div, и его обработка. через метод загрузки jQuery ajax.

Лично я не использую ни одну из библиотек Microsoft Ajax. Каждый раз, когда я вижу людей, использующих их в примерах, они только усложняют то, что jQuery уже делает проще, быстрее и лучше. Этот материал прост, не делайте его уродливым и медленным, добавляя ненужные библиотеки MS и используя громоздкий XML без каких-либо действительно веских причин. Я также лично удаляю все ViewState со всех страниц, и еще не нашел случая, чтобы ViewState сделал для меня что-то полезное, что было бы не проще и эффективнее, если бы он работал напрямую. Оказывается, нам это никогда не было нужно, но Аякс заключил сделку. И уменьшение размера страницы с соответствующим увеличением скорости - это откровение. Жить более полно в реальной веб-парадигме намного проще и лучше, чем жить с утечкой магии ASP.NET.

НТН.

Mike

P.S. Ого, все переходят на более простую и лучшую веб-разработку: Управление HTML в ASP.NET WebForms

0 голосов
/ 06 января 2009

Я использовал AjaxPro для своих проектов 1.1 с большим успехом. Модель, которую я использовал, заключалась в создании пользовательских контролов для представления «представлений», а затем в запросах ajax я динамически загружал пользовательский контроль и вызывал метод Render () для элемента управления.

Когда вы вызываете Render (), он записывает HTML-код для вашего элемента управления в средство записи текста, которое затем можно вернуть клиенту с помощью вызова ajax и вставить в div-заполнитель.

0 голосов
/ 06 января 2009

Продолжать кататься самостоятельно с помощью jquery - неплохая идея, но, очевидно, вам придется «изобретать колесо», создавая базовую поддержку ajax в существующих элементах управления. Самый быстрый способ завершить проект - отследить последние версии элементов управления Infragistic, поддерживающих .NET 1.1.

Я бы не удивился, если бы у них все еще были версии 1.1 в их пакетах 2007 года, поскольку они довольно хорошо совместимы.

...