Ik zit met de volgende vraag... Vaak wordt er in de Load event dmv van de IsPostBack property gekeken of bepaalde controls voor de eerste keer gevuld moeten worden.
Bijvoorbeeld:
Nu heb ik een pagina die, indien men op een button clickt, dynamisch een UserControl aanmaakt en toevoegt aan een placeholder (via LoadControl). Dit gaat fout indien de UserControl die ingeladen wordt op de bovenstaande manier gebruik maakt van de IsPostBack property; die is dan immers true, ook al voeg je de control voor de eerste keer toe (want je voegt de control toe in een event; de pagina is dan al gepostbackt).
Er zijn mogelijkheden om dit op te lossen. Je kunt bijv. in de usercontrol LoadViewState overriden en die een vlaggetje laten zetten; zo weet je ook of de control voor de eerste keer geladen wordt.
Maar alle oplossingen die ik bedacht heb, vereisen dat je het te dynamisch laden UserControl aanpast. Dit doe ik liever niet, want dat betekent je niet meer elke willekeurige UserControl dynamisch kunt laden.
Weet iemand of er een manier is om bovenstaande voor elkaar te krijgen, zonder dat je daarvoor het UserControl hoeft aan te passen?
Bijvoorbeeld:
code:
1
2
3
4
5
6
7
8
| private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
MyDataGrid.DataSource = RetrieveData();
MyDataGrid.DataBind();
}
} |
Nu heb ik een pagina die, indien men op een button clickt, dynamisch een UserControl aanmaakt en toevoegt aan een placeholder (via LoadControl). Dit gaat fout indien de UserControl die ingeladen wordt op de bovenstaande manier gebruik maakt van de IsPostBack property; die is dan immers true, ook al voeg je de control voor de eerste keer toe (want je voegt de control toe in een event; de pagina is dan al gepostbackt).
Er zijn mogelijkheden om dit op te lossen. Je kunt bijv. in de usercontrol LoadViewState overriden en die een vlaggetje laten zetten; zo weet je ook of de control voor de eerste keer geladen wordt.
Maar alle oplossingen die ik bedacht heb, vereisen dat je het te dynamisch laden UserControl aanpast. Dit doe ik liever niet, want dat betekent je niet meer elke willekeurige UserControl dynamisch kunt laden.
Weet iemand of er een manier is om bovenstaande voor elkaar te krijgen, zonder dat je daarvoor het UserControl hoeft aan te passen?