Ik ben nu even aan het experimenteren met het bouwen van een dynamische pagina. De hoofdpagina is default.aspx, met daarin 2 PlaceHolders. Via twee knoppen kunnen die placeholders gevuld worden met een user control, waarvan ik de naam in een sessievariabele heb staan. Die methode wordt aangeroepen zodra ik op een knop op default.aspx klik. Probleem is nu dus, dat als i kop een button klik op de user control, dat beide usercontrols verdwijnen. Ik nu dus het idee dat ik dit probleem niet met sessie up kan lossen. Of wel? Wat doe ik verkeerd?
code:
Page Load is leeg
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
| // Rechter knop is bijna hetzelfde, alleen Session right dan
private void ButtonLeft_Click(object sender, System.EventArgs e)
{
// Session left is the ascx to place in the left placeholder
Session[ "left" ] = ListBox1.SelectedValue.ToString();
placeControls();
}
void placeControls()
{
if( Session[ "left" ] != null )
{
placeControl( "PlaceHolderLeft", (string)Session[ "left" ] );
}
if( Session[ "right" ] != null )
{
placeControl( "PlaceHolderRight", (string)Session[ "right" ] );
}
}
void placeControl( string c, string s )
{
PlaceHolder p = new PlaceHolder();
p = (PlaceHolder)FindControl( c );
System.Web.UI.ControlCollection controlCollection = p.Controls;
Control control = LoadControl( s );
controlCollection.Add( control );
} |
[ Voor 4% gewijzigd door sig69 op 11-06-2004 13:53 ]