Domanda

Sono in grado di filtrare i risultati CQWP utilizzando la stringa di query utilizzando la parola chiave (PageQueryString) (riferimento: http://blogs.msdn.com/b/ecm/archive/2010/05/14/ what-s-new-con-il-contenuti-query-web-part.aspx ) C'è un modo simile per filtrare i risultati utilizzando il valore da un cookie?

È stato utile?

Soluzione

Credo che si dovrebbe utilizzare l'idea da questo fantastico articolo di Andrew Connel:

http://www.andrewconnell.com/blog/archive/2008/02/18/Subclassing-the-Content-Query-Web-Part-Adding-Dynamic-Filtering.aspx

Tutto quello che devi fare in realtà, è di sostituire Request.QueryString a Request.Cookies .

Altri suggerimenti

Probabilmente sarete in grado di farlo, ma non è possibile farlo nel CQWP stesso. L'XSL nel CQWP viene eseguito lato server, e il cookie sta per lato client dal vivo. È invece possibile utilizzare lo script (vi consiglio jQuery) per leggere il filtro biscotto e ulteriormente ciò che il CQWP ha inviato al browser.

In alternativa, è possibile utilizzare lo script lato client del tutto sia con il Cliente OM o SPServices .

È possibile ottenere le informazioni da un cookie. Ecco quello che ho fatto.

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

Io uso il valore restituito nel cookie nella query CAML per ottenere informazioni da un elenco di SharePoint. Le informazioni elenco restituito include un valore per l'URL web, che viene utilizzato dal CQWP di sapere quali dati alla visualizzazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top