2009-10-07 4 views
0

SPWeb.GetSiteData (SPQuery)를 사용하여 전체 사이트 모음의 양식 라이브러리에서 caml 쿼리를 수행합니다. "ServerUrl"필드의 경우 "/ site name/library name/formName.xml"대신 "/"만 반환합니다. 항목을 "[ServerUrl"] 올바른 값을 반환하지만 GetSiteData 메서드를 사용해야합니다.GetSiteData (query)가 잘못된 값을 반환하는 이유

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); 

답변

1

겉보기 깨진 SERVERURL는 또 다른 SharePoint 웹 서비스를 재미로 나타납니다

여기 내 코드입니다. 파일에 대한 전체 URL을 얻으려고하면 EncodedAbsUrl 및 FileRef 필드에서 파일을 빌드 할 수 있습니다.

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

+0

이미 시도해 보았습니다. FileRef는 ServerUrl과 동일하지만 EncodedAbsUrl은 도메인 이름 만 제공합니다. :( –

관련 문제