SpsitedAtaquery, бросая исключение, устанавливая свой свойство запроса

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/18440

  •  22-10-2019
  •  | 
  •  

Вопрос

Я запрошу несколько списков задач на сайте SharePoint. Я могу получить результаты, пока не установил свойство запроса и не указать пункт о заказе. Подробное исключение и код вставлены ниже. Цените любую помощь

private void doTasks(SPWeb currentWeb, SPSiteDataQuery q)
    {

    q.Query =
         "<OrderBy>" +
         "   <FieldRef Name='Priority' />" +
         "   <FieldRef Name='DueDate' />" +
         "</OrderBy>";

    // Specify the view fields.
    q.ViewFields = "<FieldRef Name='Title' Type='Text'/>";
    q.ViewFields += "<FieldRef Name='AssignedTo' Type='User' Nullable='TRUE' />";
    q.ViewFields += "<FieldRef Name='PercentComplete' Type='Number' Nullable='TRUE'/>";
    results = currentWeb.GetSiteData(q);

    if (results.Rows.Count > 0)
    {
             //blah!
    }
}

Comexception (0x80020009): 0x80020009
Microsoft.sharepoint.library.sprequestinternalclass.crosslistquery (String bstrurl, String bstrxmlwebs, String bstrxmllists, String bstrxmlquery, isp2dsafearraywriter pcallback, Object & Pvarcolumns) +0
Microsoft.sharepoint.library.sprequest.crosslistquery (String bstrurl, String bstrxmlwebs, String bstrxmllists, String bstrxmlquery, iSp2dSafearrayWriter pcallback, Object & Pvarcolumns) +174

Spexception
Microsoft.sharepoint.spglobal.handlecomexception (comexception comex) +27428978
Microsoft.sharepoint.library.sprequest.crosslistquery (String bstrurl, String bstrxmlwebs, String bstrxmllists, String bstrxmlquery, iSp2dsafearrayWriter pcallback, Object & Pvarcolumns) +27812419
Microsoft.sharepoint.spweb.getSitedata (spsitedataquery Query) +521
Storaenso.collaboration.webparts.subsiteitemaggregator.subsiteitemaggregator.dotasks (spweb currentWeb, spsitedataquery q) +189
Storaenso.collaboration.webparts.subsiteitemaggregator.subsiteitemaggregator.render (htmltextwriter) +441
Microsoft.sharepoint.webpartpages.spchrome.renderpartcontents (htmltextwriter, выход, часть веб -части) +43

WebPartException
Microsoft.sharepoint.webpartpages.spchrome.renderpartcontents (htmltextwriter, часть, часть веб -части) +19826502
Microsoft.sharepoint.webpartpages.spchrome.renderwebpart (htmltextwriter, часть, часть веб -части) +64
Microsoft.sharepoint.webpartpages.webpartzone.renderzonecell (htmltextwriter output, boolean bmoreparts, часть веб -части) +1997
Microsoft.sharepoint.webpartpages.webpartzone.renderwebparts (htmltextwriter output, arraylist webparts) +508
Microsoft.sharepoint.webpartpages.webpartzone.render (htmltextwriter out) +1000
System.web.ui.control.RenderChildReningNater (HTMLTextWriter, Icollection Children) +240
System.web.ui.control.RenderChildReningNater (HTMLTextWriter, Icollection Children) +240
System.web.ui.htmlcontrols.htmlcontainercontrol.render (htmltextwriter writer) +42
System.web.ui.control.RenderChildReningNater (HTMLTextWriter, Icollection Children) +240
System.web.ui.htmlcontrols.htmlform.renderchildren (htmltextwriter) +253
System.web.ui.htmlcontrols.htmlform.render (htmltextwriter out) +87 System.web.ui.htmlcontrols.htmlform.rendercontrol (htmltextwriter) +53
System.web.ui.control.RenderChildReningNater (HTMLTextWriter, Icollection Children) +240
System.web.ui.htmlcontrols.htmlcontainercontrol.render (htmltextwriter writer) +42
System.web.ui.control.RenderChildReningNater (HTMLTextWriter, Icollection Children) +240
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +240 System.Web.UI.Page.Render(HtmlTextWriter writer) +38 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) + 4240

Это было полезно?

Решение

Во время миграции некоторые макеты страниц использовали spsitedataquery, чтобы запросить ContentTypes в разных сети, чтобы получить контент. Код работал нормально в SP2007, но в SP2010 он бросил исключение, как указано ниже:

Решение

Убедитесь, что поле, которое вы используете для заказа, включены в свойство spsitedataquery.viewfields. Так просто, как, что!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top