Op dit moment ben ik bezig met een sharepoint migratie, versie 2003 naar 2007. Nu heb ik van zo'n 400 sites alle aanwezige webpartInfo verzameld, dit staat in xml.
Nu kan ik deze file uitlezen en met behulp van wat cases al die verschillende soorten webparts weer toevoegen, maar ik heb niet zoveel zin om 14 verschillende case statements te schrijven: dit moet slimmer kunnen.
Is het mogelijk om adv aangeleverde text een object te instantieren? voorbeeldje:
je ziet dat dit een webpart van type Microsoft.SharePoint.WebPartPages.ImageWebPart is. Hoe kan ik deze dynamisch instantieren en vervolgens aan de pagina toevoegen mbv het object model? zodat er eigenlijk de volgende code wordt uitgevoerd:
Nu kan ik deze file uitlezen en met behulp van wat cases al die verschillende soorten webparts weer toevoegen, maar ik heb niet zoveel zin om 14 verschillende case statements te schrijven: dit moet slimmer kunnen.
Is het mogelijk om adv aangeleverde text een object te instantieren? voorbeeldje:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| <WebPart xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/WebPart/v2" ID="cb2c9a5d-7ce2-41c8-b42d-c69a944c6279"> <Title>Site Image</Title> <FrameType>None</FrameType> <Description>Use to display pictures and photos.</Description> <IsIncluded>true</IsIncluded> <ZoneID>Right</ZoneID> <PartOrder>1</PartOrder> <FrameState>Normal</FrameState> <Height /> <Width /> <AllowRemove>true</AllowRemove> <AllowZoneChange>true</AllowZoneChange> <AllowMinimize>true</AllowMinimize> <IsVisible>true</IsVisible> <DetailLink /> <HelpLink /> <Dir>Default</Dir> <PartImageSmall /> <MissingAssembly /> <PartImageLarge /> <IsIncludedFilter /> <ExportControlledProperties>false</ExportControlledProperties> <ConnectionID>00000000-0000-0000-0000-000000000000</ConnectionID> <Assembly>Microsoft.SharePoint, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly> <TypeName>Microsoft.SharePoint.WebPartPages.ImageWebPart</TypeName> <ImageLink xmlns="http://schemas.microsoft.com/WebPart/v2/Image">/_layouts/images/homepage.gif</ImageLink> <VerticalAlignment xmlns="http://schemas.microsoft.com/WebPart/v2/Image">Middle</VerticalAlignment> <HorizontalAlignment xmlns="http://schemas.microsoft.com/WebPart/v2/Image">Center</HorizontalAlignment> <BackgroundColor xmlns="http://schemas.microsoft.com/WebPart/v2/Image">transparent</BackgroundColor> </WebPart> |
je ziet dat dit een webpart van type Microsoft.SharePoint.WebPartPages.ImageWebPart is. Hoe kan ik deze dynamisch instantieren en vervolgens aan de pagina toevoegen mbv het object model? zodat er eigenlijk de volgende code wordt uitgevoerd:
C#:
1
2
3
4
| Microsoft.SharePoint.WebPartPages.ImageWebPart wp = new Microsoft.SharePoint.WebPartPages.ImageWebPart(); wp.ImageLink = "bla"; wp.ZoneID = "Right"; wp.bla1 = "bla"; |
[ Voor 5% gewijzigd door Bint op 16-02-2008 11:51 ]
Memories of yesterday, will grow, but never die