我能够使用关键字(pagequerystring)使用查询字符串过滤CQWP结果(参考: http://blogs.msdn.com/b/ecm/archive/2010/05/14/what--new-with-with-the-content-query-web-part.aspx )是否有类似的方法可以使用cookie的值过滤结果?

有帮助吗?

解决方案

我认为您应该使用这篇令人敬畏的安德鲁·康奈尔(Andrew Connel)文章中的想法:

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

您实际需要做的就是替换 Request.QueryStringrequest.cookies.

其他提示

您可能可以做到这一点,但是您不能在CQWP本身中这样做。 CQWP中的XSL运行服务器端,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;
    }

我使用CAML查询中的Cookie中返回的值从SharePoint列表中获取信息。返回的列表信息包括Web URL的值,CQWP使用该值来知道要显示哪些数据。

许可以下: CC-BY-SA归因
scroll top