2009-10-07 4 views
0

Je fais une requête caml sur les bibliothèques de formulaires dans la collection de sites entière avec SPWeb.GetSiteData (SPQuery). Pour le champ "ServerUrl", il retourne simplement "/" au lieu de "/ nom du site/nom de la bibliothèque/nomformulaire.xml". Avec l'élément ["ServerUrl"] renvoie la bonne valeur, mais j'ai besoin d'utiliser la méthode GetSiteData.pourquoi GetSiteData (requête) renvoie des valeurs incorrectes

Voici mon code:

SPSiteDataQuery q = new SPSiteDataQuery(); 
q.Lists = "<Lists ServerTemplate='115' />"; 
q.Query = "<Where><And><And>" 
      + "<Eq><FieldRef Name='" + UserId + "' /><Value Type='Text'>" + User + "</Value></Eq>" 
      + "<Geq><FieldRef Name='Created' /><Value Type='DateTime'>" + dateFrom + "</Value></Geq></And>" 
      + "<Leq><FieldRef Name='Created' /><Value Type='DateTime'>" + dateTo + "</Value></Leq></And></Where>"; 
q.Webs = "<Webs Scope='SiteCollection' />"; 
q.ViewFields = 
    "<FieldRef Name='Title' />" + 
    "<FieldRef Name='ID' />" + 
    "<FieldRef Name='Created' />" + 
    "<FieldRef ID='" + officeId + "' />" + 
    "<FieldRef ID='" + formStatusId + "' />" + 
    "<FieldRef ID='" + accessTypeId + "' />" + 
    "<FieldRef Name='ServerUrl' />" + 
    "<FieldRef Name='FileRef' />"; 
ret = web.GetSiteData(q); 

Répondre

1

Le ServerURL apparemment cassé semble être juste un autre service Web SharePoint drôle. Si vous essayez d'obtenir l'URL complète pour le fichier, vous pouvez le créer à partir des champs EncodedAbsUrl et FileRef.

http://splucy.wordpress.com/2009/06/02/retrieve-pageurl-in-spsitedataquery/

+0

J'ai déjà essayé cela. FileRef me donne la même chose que ServerUrl, mais EncodedAbsUrl donne juste le nom de domaine. :( –

Questions connexes