SpsitedAtaquery, бросая исключение, устанавливая свой свойство запроса
-
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) +174Spexception
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, выход, часть веб -части) +43WebPartException
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. Так просто, как, что!