2012-01-27 13 views
0

Моя проблема проста, но я не смог найти ее наилучшим решением.Сохранение файлов cookie для голосования ASP.NET

Я хочу знать, кто-то проголосовал за пост НА СТРАНИЦЕ НАГРУЗКИ (а не когда они голосуют), и если они это сделают, измените образ голосования, чтобы они могли видеть, что они уже проголосовали за него.

Лучшее решение, которое пришло мне в голову, состояло в том, чтобы сохранить куки-файлы, первый вопрос: «Хорошая практика - сохранить куки и просмотреть все сообщения, чтобы узнать, существует ли файл cookie?»

второй вопрос: если это хорошее решение, каким должен быть способ сохранить куки? Поскольку только зарегистрированные участники смогут голосовать, соблюдение имени пользователя и postId должно быть достаточно .. или нет?

Спасибо

+2

Что происходит, когда cookie очищается? Должен ли пользователь все еще видеть, что он уже голосовал? Если он должен, то cookie, вероятно, не лучшее решение. – ken

+0

Я тоже буду держать голоса на db. Это просто для клиентов. – Pabuc

+0

Хорошо для печенья, то, что вы говорите, невозможно, но если это возможно, да, это было бы здорово! – Pabuc

ответ

3

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

Вы упомянули, что вы держите голоса в БД. Когда запрашивается страница, просто посмотрите на эту таблицу и отправьте соответствующее изображение вниз.

0

Лучший способ - использовать Ajax/JQuery для обновления ваших изображений. Использование WebMethods

+0

Я не спрашивал, как обновлять изображения. – Pabuc

+0

В вашем вопросе вы упомянули «изменить изображение для голосования, чтобы они могли видеть, что они уже голосовали на нем». Пожалуйста, проверьте его. – Ravia

+0

Да, это было немного неясно, отредактировал его. – Pabuc

1

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

Javascript может быть использован на стороне клиента для асинхронного обновления базы данных и графического интерфейса при голосовании (как, например, stackoverflow делает это, когда мы проголосуем здесь).

+0

Я использую JSON для обновления изображений, это не проблема. Так получилось правильное изображение или ГОЛОСОВАНО || Неподготовлено из db - лучший подход? – Pabuc

+0

Если бы это был мой проект, я бы использовал два статических изображения в каталоге Content, один для Voted и один для NotVoted, и написал javascript для обновления источника изображения всякий раз, когда пользователь нажимает на Vote. Тогда это изображение будет использоваться по умолчанию при следующем посещении страницы (это будет сделано с переменной на стороне сервера). Вам не нужно будет получать изображение из БД. – ken

+0

Я не получаю изображение от db. вы голосовали вчера, и вы просматриваете сайт сегодня. как вы показываете правильное изображение, если вы проголосовали? – Pabuc