2015-07-24 3 views
1

У меня есть продукты, которые являются спецификациями состояния. Я получаю «местоположение» пользователя из геолокации Google (javascript). Я хочу передать «state name» на products.ascx, чтобы они отображались по состоянию. Проблема, с которой я столкнулась, - это когда я получаю имя штата из геолокации Google, я не могу отправить имя файла без перезагрузки страницы.JQuery AJAX-сервер управления рендерингом sitecore issue

1) Я попытался настроить [webmethod] в макете su (aspx) и вызвал ее с помощью jquery Ajax, но я не хочу дублировать код из products.ascx или в случае успеха вызова Ajax перезагрузить страницу после настройка cookie.

2) Я не хочу перенаправлять на новую страницу aspx, а затем перезагружать предыдущую страницу.

3) MVC не является вариантом в моем проекте.

Есть ли способ реализовать эту функцию без перезагрузки страницы? Любые предложения действительно оценены.

+0

Можете ли вы пояснить, почему веб-метод не подходит? Вы сказали, что попробовали, но я не уверен, почему вы отказались от этого. –

+0

Я пробовал использовать webmethod, но мне пришлось перезагрузить страницу, поскольку код на основе продукта полностью находится в файле ascx. используя webmethod, я назвал новый aspx, и при успехе сделал location.reload, который не то, что я хочу (location.reload) – Kdev

+0

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

ответ

2

Предполагая, что у каждого продукта есть уникальный идентификатор, и вы должны установить конечную точку веб-api, чтобы предоставить вам список применимых продуктов для каждого состояния (переданный через геолокацию), который будет вызван через запрос Ajax.

Web API может быть настроен для работы с Sitecore, эти сообщения объясняют, как установить это:

http://patrickdelancy.com/2013/08/sitecore-webapi-living-harmony/

http://blog.falafel.com/sitecore-configuring-web-api/

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

Другим вариантом может быть то, где вы храните информацию о геолокации в cookie, а затем asp.net читает значение cookie на стороне сервера. Затем вы можете отфильтровать серверную часть продуктов на основе состояния.

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

  • Нет связанных вопросов^_^