Freitag, 25. November 2011

Custom WebPart zu einer WebPartpage hinzufügen

Um ein Custom WebPart zu einer Page hinzuzufügen benötigt man eine Instanz der spezifischen WebPart-Klasse. Steht einem In dem Moment keine Referenz zu entsprechenden Assembly zur Verfügung kann man sich mit Hilfe eines ObjectHandle eine Instanz erzeugen.

Dazu benötigt man den Klassennamen und den kompletten Assembly-Namen

     String typeName = "Klassenname";
     String assemblyName = "Assembly Name");
     ObjectHandle webPartHandle = Activator.CreateInstance(assemblyName, typeName);
     WebPart webPart =  (WebPart)webPartHandle.Unwrap();
     webParts[0].GetFormattedValue("WebPartTypeName")

Die Werte für typeName und Assembly können auch über eine Query auf die WebPartGallery ermittelt werden
    
    SPQuery query = new SPQuery();
    query.Query = string.Format("{0}", webpartname);
    SPList webPartGallery = this.site.RootWeb.GetCatalog(SPListTemplateType.WebPartCatalog);
    SPListItemCollection webParts = webPartGallery.GetItems(query);
    String typeName =webParts[0].GetFormattedValue("WebPartTypeName"); 
    String assemblyName = webParts[0].GetFormattedValue("WebPartAssembly");

   

1 Kommentar:

  1. Harrah's Northwoods Resort - Casino Roland
    Casino Roland is open 24 fun88 soikeotot hours a day, 7 days a week. william hill Find reviews, photos & cheap rates for Harrah's Northwoods Resort in Roland,

    AntwortenLöschen