Ik heb drie bestanden:
1: klant.aspx
2: navbar.ascx
3: klant_uitgebreid.ascx
klant.aspx bevat de klant naam, klant id en een dropdownlist met al mijn klanten (voor gemakkelijk wijzigen van de klant die bekeken wordt).
verder staan er twee placeholders. plcNavBar, waar de navbar in wordt geladen, plcKlantUitgebreid, waar klant_uitgebreid in wordt geladen.
navbar.ascx bevat 5 knoppen. Wanneer er op een van de knoppen wordt geklikt wordt een placeholder op klant.aspx zichtbaar/onzichtbaar gezet (er zijn eigenlijk meer bestanden uiteraard, en ieder heeft een eigen placeholder aangezien ik het nog niet voor elkaar heb verschillende bestanden na elkaar in een placeholder te krijgen maar dat is een ander verhaal).
klant_uitgebreid.ascx bevat gewoon wat veldjes uit de database. Deze zijn uiteraard gekoppeld aan de klant die op klant.aspx geselecteerd is.
Nu is mijn probleem dat wanneer ik op klant.aspx een andere klant selecteer, dat deze niet meeverandert op klant_uitgebreid.ascx. Wanneer ik nogmaals de klant wijzig worden de gegevens van de vorige klant zichtbaar op klant_uitgebreid.ascx (dus de 2e klant, en niet de 3e).
Ik heb ook wel een idee waarom dit gebeurd, de code wordt namelijk niet op de voor mij juiste manier uitgevoerd. Ik had op MSDN een artikel gelezen over Viewstate waarin duidelijk werd dat ASP.NET eerst de page_init, page_load en dan pas postback events (zoals het wijzigen van een dropdownlist) uitvoert.
In klant_uitgebreid.ascx wordt in de page_load een functie gestart die de gegevens ophaalt en dit wordt eerder uitgevoerd dan de SelectedIndexChanged van mijn dropdownlist waardoor de klant_id nog niet juist is ingesteld en dus de verkeerde gegevens worden getoont in klant_uitgebreid.
Ik heb geprobeerd met sessies deze key wel mee te geven, maar helaas, ook dit gaat niet goed.
Ik vermoed dat dit is op te lossen door ergens iets met viewstate te doen, maar na 1 msdn artikel, 4 andere artikelen en de uitleg van een boek heb ik nog niet helemaal door hoe ik dit moet oplossen (jaja, beetje traag van begrip soms he
)
Ik hoop dat mijn probleem een beetje duidelijk is zo, en misschien kan iemand me een beetje in de goede richting duwen
Oh ja, ik gebruik ASP.NET in combinatie met VB.NET, mocht dat boeien.
1: klant.aspx
2: navbar.ascx
3: klant_uitgebreid.ascx
klant.aspx bevat de klant naam, klant id en een dropdownlist met al mijn klanten (voor gemakkelijk wijzigen van de klant die bekeken wordt).
verder staan er twee placeholders. plcNavBar, waar de navbar in wordt geladen, plcKlantUitgebreid, waar klant_uitgebreid in wordt geladen.
navbar.ascx bevat 5 knoppen. Wanneer er op een van de knoppen wordt geklikt wordt een placeholder op klant.aspx zichtbaar/onzichtbaar gezet (er zijn eigenlijk meer bestanden uiteraard, en ieder heeft een eigen placeholder aangezien ik het nog niet voor elkaar heb verschillende bestanden na elkaar in een placeholder te krijgen maar dat is een ander verhaal).
klant_uitgebreid.ascx bevat gewoon wat veldjes uit de database. Deze zijn uiteraard gekoppeld aan de klant die op klant.aspx geselecteerd is.
Nu is mijn probleem dat wanneer ik op klant.aspx een andere klant selecteer, dat deze niet meeverandert op klant_uitgebreid.ascx. Wanneer ik nogmaals de klant wijzig worden de gegevens van de vorige klant zichtbaar op klant_uitgebreid.ascx (dus de 2e klant, en niet de 3e).
Ik heb ook wel een idee waarom dit gebeurd, de code wordt namelijk niet op de voor mij juiste manier uitgevoerd. Ik had op MSDN een artikel gelezen over Viewstate waarin duidelijk werd dat ASP.NET eerst de page_init, page_load en dan pas postback events (zoals het wijzigen van een dropdownlist) uitvoert.
In klant_uitgebreid.ascx wordt in de page_load een functie gestart die de gegevens ophaalt en dit wordt eerder uitgevoerd dan de SelectedIndexChanged van mijn dropdownlist waardoor de klant_id nog niet juist is ingesteld en dus de verkeerde gegevens worden getoont in klant_uitgebreid.
Ik heb geprobeerd met sessies deze key wel mee te geven, maar helaas, ook dit gaat niet goed.
Ik vermoed dat dit is op te lossen door ergens iets met viewstate te doen, maar na 1 msdn artikel, 4 andere artikelen en de uitleg van een boek heb ik nog niet helemaal door hoe ik dit moet oplossen (jaja, beetje traag van begrip soms he
Ik hoop dat mijn probleem een beetje duidelijk is zo, en misschien kan iemand me een beetje in de goede richting duwen
Oh ja, ik gebruik ASP.NET in combinatie met VB.NET, mocht dat boeien.