Hoi allemaal,
In de CMS-gedeelte van mijn website ben ik bezig met een dynamisch stuk content die ik op basis van Web Parts en Web Part Zones wil maken. Het lukt mij om de web parts in de web part zone toe te voegen. Bij het verwijderen van de web parts, worden ze in eerste instantie van de pagina verwijderd. Als ik een nieuwe web part ga toevoegen, zie ik het oude nog staan. Het schijnt dat deze web parts ergens in de sessie of view state zijn aangemaakt en daar blijven hangen. Weet iemand hoe ik de dynamisch aangemaakte web parts kan verwijderen?
Mijn code:
in mijn Page_Load functie van de pagina:
In het stukje waar ik de web parts dynamisch toevoeg:
Dus als de pagina gewoon wordt geladen, moeten alle webparts worden verwijderd. Bij een PostBack, mag de lijst blijven staan en verder worden gevuld met web parts. Het probleem is dus het verwijderen van de webparts. Bij geen PostBack worden ze netjes weggehaald van de pagina, maar zodra ik een nieuwe ga toevoegen, zijn de oude dus beschikbaar. Ik denk dat het ergens in de sessie of view state zit. Het verijwderen en toevoegen van WebPart objecten doe ik via de manager.
Alvast bedankt.
In de CMS-gedeelte van mijn website ben ik bezig met een dynamisch stuk content die ik op basis van Web Parts en Web Part Zones wil maken. Het lukt mij om de web parts in de web part zone toe te voegen. Bij het verwijderen van de web parts, worden ze in eerste instantie van de pagina verwijderd. Als ik een nieuwe web part ga toevoegen, zie ik het oude nog staan. Het schijnt dat deze web parts ergens in de sessie of view state zijn aangemaakt en daar blijven hangen. Weet iemand hoe ik de dynamisch aangemaakte web parts kan verwijderen?
Mijn code:
in mijn Page_Load functie van de pagina:
code:
1
2
3
4
5
| If (Not IsPostBack) Then For Each wp As WebPart In Me.ContentZone.WebParts Me.WebPartManager1.DeleteWebPart(wp) Next End If |
In het stukje waar ik de web parts dynamisch toevoeg:
code:
1
2
3
4
5
| Dim lC As Control = Me.LoadControl("Controls/MyControl.ascx") lC.ID = New Guid().ToString() Dim lWP As WebPart = Me.WebPartManager1.CreateWebPart(lC) Me.WebPartManager1.AddWebPart(lWP, Me.ContentZone, 0) |
Dus als de pagina gewoon wordt geladen, moeten alle webparts worden verwijderd. Bij een PostBack, mag de lijst blijven staan en verder worden gevuld met web parts. Het probleem is dus het verwijderen van de webparts. Bij geen PostBack worden ze netjes weggehaald van de pagina, maar zodra ik een nieuwe ga toevoegen, zijn de oude dus beschikbaar. Ik denk dat het ergens in de sessie of view state zit. Het verijwderen en toevoegen van WebPart objecten doe ik via de manager.
Alvast bedankt.