我可以使用cookie的值动态过滤CQWP结果吗?
-
16-10-2019 - |
题
我能够使用关键字(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)文章中的想法:
您实际需要做的就是替换 Request.QueryString
至 request.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使用该值来知道要显示哪些数据。