Sweden SharePoint User Group WictorWilén
Vem är jag? Wictor Wilén Systemarkitekt Pdb Stockholm, tidigare iBizkit
10 steg till bättre Web Parts Web Part Best Practices
#1 - WebPart eller WebPart? Microsoft.SharePoint.WebPartPages.WebPart Arv från SharePoint 2003 Bakåtkompabilitet System.Web.UI.WebControls.WebParts.WebPart Kommer från ASP.NET 2.0 Går att köra utan SharePoint Framtiden (inga ändringar i ASP.NET 4.0 PDC 08 preview) Begränsningar i Web Part Connections Endast mellan Web Parts, i WebPartZones, på samma sida
#2 – Förstå Event Modellen Grundläggande ASP.NET 2.0 kunskaper Vad händer med en sida och kontroll när sidan laddas postas tillbaka (PostBack) ViewState Använd aldrig Render() Använd CreateChildControls() Övning Lägg till alla events och stega igenom en laddning och en postback
#2 – Förstå Event Modellen GET RequestPostBack OnInit OnLoad CreateChildControls OnPreRender SaveViewState Render OnUnLoad OnInit OnLoad CreateChildControls OnPreRender SaveViewState Render OnUnLoad Control Events LoadViewState ApplyPersonalization
#3 – GAC eller bin? Utveckla i bin Fungerar oftast då i GACen Inte alltid tvärtom Snabbare utveckling App poolen recyclas automatiskt Glöm inte CAS GAC i drift Prestanda,.NET letar i GACen först Full Trust! Multipla versioner IISRESET Signa alltid din assembly!
#4 – definiera din.webpart fil Krävs för galleriet Fördefiniera den Standardvärden Jämför med New->Populate Gallery CatalogIconImageUrl – galleriet (TitleIconImageUrl – Web Part headern) AllowClose = false Tar bort Close verbet
#5 – Utnyttja wpresources Länkade resurser Farm ~/_wpresources C:\Program Files\Common Files\microsoft shared\Web Server Extensions\wpresources\ WebApplication ~/wpresources C:\InetPub\wwwroot\wss\VirtualDirectories\80\wpresources\ Använd undermappar, med assemblyns namn Deploy med ClassResouces/ClassResource i manifestet Page.ClientScript.RegisterClientScriptInclude ("file.js", ”~/_wpresources/namespace/script.js”); Inbyggda resurser WebResource.axd
#6 – Paketera som feature Enkel installation Populerar Web Part galleriet, vid aktivering Gruppering OBS: Avaktivering tar inte bort den från WPG
#7 - Versionshantering Använd inte: [assembly: AssemblyVersion(”1.0.*.*")] Använd Assembly Redirection
#8 – Web Part Properties Tänk på scopet [Personalizable(PersonalizationScope.Shared)] [WebPartStorage(Storage.Shared)] public int Prop{ get; set; }
#9 – Editor Parts Bättre användarupplevelse Valideringar Länkade Properties
#10 – några snabba tips HTMLEncode undvik script/SQL injections ValidationGroup Lokalisera Tänk på att din Web Part kan läggas in var som helst i siten!
Sweden SharePoint User Group Wictor Wilén