Pregunta

He creado un módulo con algunos archivos que actualizo y eliminé a través de SPFeature.La cosa es que si un diseño de página está en uso, no puedo eliminarlo y lanza un error, incluso cuando está dentro de un intento {} catch {}.¿Cómo pruebo la (s) diseño (s) de página (s)?-C #

¿Fue útil?

Solución

Para probar su lista de páginas en el evento desactivado de la función, debe poder consultar por diseño de página.Los siguientes devolverán cualquier página en la lista "Páginas" cuyo diseño de página 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); 
} 

Otros consejos

Podría hacer el cheque realmente fácil en el navegador usando el Servicio Web de Box Listdata.svc.

Mostrar todas las páginas de la lista "Páginas" y sus diseños

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

Muestra solo páginas de la lista "Páginas" usando BlankWebPartPage.aspx Layout

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

NOTA: Si usa IE, querrá ver el XML sin procesar, no la vista de feed de RSS "Útil".Ir a las opciones de Internet -> Pestaña Contenido -> Configuración de fuentes y rodajes web -> Desmarque "Encienda la vista de lectura de alimentación"

Licenciado bajo: CC-BY-SA con atribución
scroll top