5

Web Bölümü Bölgeleri numaralandırılırken Ben var bir sınıf bir PublishingPage örneği iletilen bir durum var ve ben bu sayfa için Düzen Sayfa kullanılan her türlü web bölümü bölgeleri numaralandırmak istiyorum.Programlı bir Yayıncılık Sayfa Düzeni

Bu zorluğu kanıtlıyor.

PublishingPage, Layout, PageLayout türünde bir özelliğe sahiptir. Bu, Zones özelliğine sahip Sayfa'ya (nihayetinde) miras alan PublishingLayoutPage'den farklıdır. Bu PageLayout türünde, gereksinim duyduğum Bölgeler özelliğine sahip normal ASP.NET Sayfa türü için herhangi bir başvuru yoktur.

PublishingPage.Layout özelliğinden bir SPListItem ve bir SPFile alabilir ve sayfa düzeninin içeriğini ham metin biçiminde alabilirim, ancak bu geçerli bir XML olmadığı için XmlReader ile ayrıştırılamaz (<% sahiptir geçersiz olan etiketler).

Bir SPWeb PublishingPage.ListItem.Web dosyasından alabilir ve bu bana bir SPWimitedWebPartManager alabilir, burada LimitedWebParts (Bölge bilgisine sahip) içeren bir koleksiyon elde edebilirim - ama bu yardımcı olmaz çünkü bu aşamada kodum web parçalarım yok.

Sıkışmış durumdayım, Publishing Infrastructure hem ASP.NET hem de SharePoint'ten tamamen ayrılmış gibi görünüyor.

GÜNCELLEME:

Ben, bir web bölümü bölgesinin (I kullanılan bölgelerin isimleri var) (a yeni ContentEditorWebPart gibi) bir kukla web bölümü eklemek için SPLimitedWebPartManager kullanabilirsiniz ama ne zaman Bunu saklayın ve sayfayı tekrar kontrol edin (ve yeni bir SPLWPM edinin), WebPart'ları geri alabilirim ancak Zone özelliği boş (ZoneID özelliği dolu ve doğru).

+1

Hayır OOB çözümü ... http://stackoverflow.com/questions/3821067/in-sharepoint-how-to-list-all-webpartzones-of-a-specific-page-from-object-model –

+0

Bir Page (asp.net stili) örneğim varsa, bir SPWebPartManager'ı türetebilirim/türetebilirim, ancak bu, ASP.NET türetilmiş nesnelere hiç erişemediğim Yayıncılık'tadır. –

cevap

0

Wayne Fan'ın this thread üzerindeki mesajları, yapmaya çalıştığınız şeyi kapsayacak şekilde görünüyor. Bu yardımcı olur umarım.