Kann ich CQWP -Ergebnisse dynamisch mit einem Wert von einem Cookie filtern?
-
16-10-2019 - |
Frage
Ich kann die CQWP -Ergebnisse mithilfe der Abfragezeichenfolge mithilfe des Schlüsselworts (PagequeryString) filtern (Referenz: http://blogs.msdn.com/b/ecm/archive/2010/05/14/what-new-with-the-content-query-web-part.aspx ) Gibt es eine ähnliche Möglichkeit, die Ergebnisse mit einem Wert eines Keks zu filtern?
Lösung
Ich denke, Sie sollten die Idee aus diesem fantastischen Andrew Connels Artikel verwenden:
Alles was Sie tatsächlich tun müssen, ist zu ersetzen Request.QueryString
zu Request.cookies.
Andere Tipps
Sie können dies wahrscheinlich tun, aber Sie können es im CQWP selbst nicht tun. Das XSL in der CQWP läuft Serverseite und das Cookie wird die Client -Seite live. Sie können stattdessen Skript verwenden (ich würde JQuery empfehlen), um den Cookie zu lesen und zu filtern, was der CQWP an den Browser gesendet hat.
Alternativ können Sie das Client -Seitenskript vollständig mit dem Client OM oder verwenden Spservices.
Sie können die Informationen von einem Cookie erhalten. Hier ist was ich getan habe.
private string GetCookieInfo(string cookieName)
{
string cookieInformation = null;
if (HttpContext.Current.Request.Cookies[cookieName] != null)
{
cookieInformation = HttpContext.Current.Request.Cookies[cookieName].Value;
}
return cookieInformation;
}
Ich verwende den im Cookie in CAML -Abfrage zurückgegebenen Wert, um Informationen aus einer SharePoint -Liste zu erhalten. Die zurückgegebenen Listeninformationen enthält einen Wert für die Web -URL, die vom CQWP verwendet wird, um zu wissen, welche Daten angezeigt werden sollen.