Могу ли я динамически отфильтровать результаты CQWP, используя значение из cookie?

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/12098

  •  16-10-2019
  •  | 
  •  

Вопрос

Я могу отфильтровать результаты CQWP, используя строку запроса, используя ключевое слово (pageQueryString) (ссылка: http://blogs.msdn.com/b/ecm/archive/2010/05/14/what-new-with-the-content-query-web-part.aspx Есть ли аналогичный способ отфильтровать результаты, используя значение из cookie?

Это было полезно?

Решение

Я думаю, что вы должны использовать идею из этой удивительной статьи Эндрю Коннеля:

http://www.andrewconnell.com/blog/archive/2008/02/18/subclassing-the-content-query-web-part-adding-dynamic-filtering.aspx

Все, что вам нужно сделать на самом деле, это заменить Request.QueryString к Request.cookies.

Другие советы

Вы, вероятно, сможете сделать это, но вы не сможете сделать это в самом CQWP. XSL в CQWP работает на стороне сервера, а cookie будет жить на стороне клиента. Вместо этого вы можете использовать скрипт (я бы порекомендовал jQuery) для прочтения файла cookie и дальнейшего фильтрации того, что CQWP отправил в браузер.

В качестве альтернативы, вы можете использовать скрипт на стороне клиента полностью с клиентом OM или Spservices.

Вы можете получить информацию от файла cookie. Вот что я сделал.

    private string GetCookieInfo(string cookieName)
    {
        string cookieInformation = null;
        if (HttpContext.Current.Request.Cookies[cookieName] != null)
        {
            cookieInformation = HttpContext.Current.Request.Cookies[cookieName].Value;
        }
        return cookieInformation;
    }

Я использую значение, возвращаемое в Cookie в CAML -запросе, чтобы получить информацию из списка SharePoint. Возвращенная информация списка включает значение для веб -URL, которое используется CQWP, чтобы узнать, какие данные отображаются.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top