Проектное решение - массив Javascript или обработчик http - PullRequest
1 голос
/ 03 апреля 2009

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

Я думал, что помещение всех данных об одном продукте в многомерный массив JavaScript (для каждого экземпляра страницы всего 10-50 записей) и написание некоторых подпрограмм на стороне клиента - это будет путь по двум причинам. Один, потому что он поддерживает быстрый интерфейс, и два, он минимизирует обратные вызовы на сервер. Что меня беспокоит с этим решением, так это запах кода.

В качестве альтернативы я думаю об использовании более пуристского подхода AJAX с использованием HTTP-обработчиков и JSON, или, может быть, гибрида с небольшим количеством обоих. Мой вопрос: что вы думаете о лучшем решении этой проблемы с использованием стека ASP.Net 2.0?

[редактировать]

Я также должен упомянуть, что эта страница будет работать в среде SharePoint.

Ответы [ 4 ]

4 голосов
/ 03 апреля 2009

Предполагая, что данные статичны, я бы проголосовал за вариант № 1. Хранение и извлечение элементов данных в массиве JavaScript относительно надежно и полностью под вашим контролем. Обратный вызов на сервер вводит много возможных точек сбоя. Кроме того, я думаю, что хранение данных в памяти на странице потребует меньше кода в целом и будет более читабельным для любого, кто имеет более чем элементарное понимание JavaScript.

2 голосов
/ 03 апреля 2009

Я против Ajax за такие задачи и проголосую (и реализовал) первый вариант.

Насколько я понимаю, вы не создадите Запахи кода , если часть JS пишется на вашей стороне сервера.

С точки зрения пользователя, Ajax является убийцей опыта для беспроводного просмотра, поскольку любой небольшой сбой или неправильное обслуживание приведет к сбою или просто удлинит взаимодействие в 20 (!) Раз.

Я разместил на своем сайте еще больше записей, чем ваша, и пользователям это нравится. Поскольку некоторые из моих пользователей пользуются интернет-кафе или сомнительным Wi-Fi в отеле, иначе это не сработает.

Кроме того, Ajax делает ваш код взаимодействия сервер-клиент гораздо более сложным, IMO, который является самой сложной частью в веб-программировании.

0 голосов
/ 03 апреля 2009

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

EDIT

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

0 голосов
/ 03 апреля 2009

Я бы предпочел ваш второй вариант. Пока вызов AJAX не выполняет длительный процесс для этого случая, он должен быть довольно быстрым.

Приложение, над которым я работаю, работает с AJAX и HttpHandler, и наши вызовы выполняются быстро. Просто убедитесь, что вы минимизируете размер вашего JSON, возвращенного в ответе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...