Domanda

Ho creato un modulo con alcuni file che aggiorno e cancellano tramite SpFeature.La cosa è se un layout di pagina è in uso non riesco a eliminarlo e lancia un errore, anche quando è in prova {} catch {}.Come posso verificare quale layout della pagina utilizzati?-C #

È stato utile?

Soluzione

Per testare la lista delle pagine nell'evento Disattivato funzionalità Dovresti essere in grado di interrogare con layout della pagina.Quanto segue restituirà tutte le pagine nell'elenco "Pagine" il cui layout di pagina contiene "WebPartPage.aspx".

SPList spList = spWeb.Lists.TryGetList("Pages"); 
if (spList != null) 
{ 
   SPQuery qry = new SPQuery(); 
   qry.Query = 
   @"   <Where>
      <Contains>
         <FieldRef Name='PublishingPageLayout' />
         <Value Type='URL'>WebPartPage.aspx</Value>
      </Contains>
   </Where>"; 
   qry.ViewFields = @"<FieldRef Name='PublishingPageLayout' />"; 
   SPListItemCollection listItems = spList.GetItems(qry); 
} 
.

Altri suggerimenti

È possibile effettuare il controllo davvero semplice nel browser utilizzando la lista Web EXTRA BOX SERVICE SERVICEDATA.SVC.

Visualizza tutte le pagine dall'elenco "Pagine" e dai loro layout

<yoursiteUrl>/_vti_bin/listdata.svc/Pages?$select=Name,PageLayout
.

Visualizza solo pagine dall'elenco "Pagine" utilizzando BlankWebPartPage.aspx Layout

<yoursiteUrl>/_vti_bin/listdata.svc/Pages?$select=Name,PageLayout&$filter=substringof('BlankWebPartPage.aspx',%20PageLayout)%20eq%20true
.

Nota: se si utilizza IE, ti consigliamo di vedere la XML Raw non è la visualizzazione di feed RSS "utile".Vai a Opzioni Internet -> Scheda Content -> Impostazioni di fette e fette web -> Deseleziona "Accendi la visualizzazione della lettura del mangime"

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