1. #1
    Adelbert's Avatar
    Registered
    19/09/06
    Location
    Brugge
    Posts
    1,417
    iTrader
    12 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/10

    ASP.Net\C# List<> Probleem

    Beste 9lifers,

    ik probeer op een ASP.Net website dynamisch Radiobuttonlists toe te voegen, dit werkt perfect, en komen ook op de website er effectief op. Die dynamisch toegevoegde Radiobuttonlists probeer ik bij te houden in een List<RadioButtonList>, maar daar gaat het mis. Er zit gewoon niets in mijn list achteraf en ik snap niet waarom.

    Code om radiobuttonlist aan te maken:
    Code:
                
            foreach (Vraag v in vraaglijst)
            {
                TableCell keuze = new TableCell();
                RadioButtonList listkeuze = new RadioButtonList();
                listkeuze.Items.Add(new ListItem("Ja", "0"));
                listkeuze.Items.Add(new ListItem("Nee", "1"));
                vragen.Add(listkeuze);
    
                keuze.Controls.Add(listkeuze);
                NieuweRij.Cells.Add(keuze);
    }
    "Vraag" is een klasse die ik zelf geschreven heb, met wat standaard crap in, "vraaglijst" is een lijst met alle vragen die ik eerder uit een XML bestand gelezen heb, en "vragen" wordt bovenaan mijn C# pagina gedeclareerd en geinitialiseerd:
    Code:
    private List<RadioButtonList> vragen = new List<RadioButtonList>();
    nu wanneer ik achteraf
    Code:
    vragen.Count
    opvraag is die lijst leeg, terwijl ik reeds de pagina's met de dynamisch toegevoegde radiobuttonlists gezien heb

    -> ->
    no votes   Reply With Quote Reply With Quote

  2. #2
    Adelbert's Avatar
    Registered
    19/09/06
    Location
    Brugge
    Posts
    1,417
    iTrader
    12 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/10
    Nieuw probleem, maar oud probleem opgelost.

    ik heb de reden gevonden waarom de lijst telkens leeg was, ik vroeg die Lijst op in een andere pagina, en data wordt niet bewaard in uw CodeBehind file, ik heb dit opgelost door mijn lijst telkens in de cache op te slaan.

    Nu zit ik wel met volgend probleem, mijn radiobuttonlist wordt dus bijgehouden in een List<Radiobuttonlist> in de cache, dus telkens er een radiobuttonlist aan de website wordt toegevoegd, gebeurt dit ook in de list in de cache.

    als ik nu op een later moment probeer de .SelectedIndex op te vragen van die radiobuttonlists in mijn cache, zegt ie telkens dat de selectedindex op "-1" staat (wat volgens mij betekend dat er niets aangeduid is, correct?), zelf na dat ik op die website zelf iets in een/meerdere/alle radiobuttonlists iets aanduid

    ik veronderstel dat die radiobuttonlist objecten in mijn List toch nog naar het Object verwijzen die op de webpagina komt?
    -> ->
    no votes   Reply With Quote Reply With Quote

  3. #3
    Cycloon's Avatar
    Registered
    18/01/04
    Location
    Melle
    Posts
    10,535
    iTrader
    56 (100%)
    Mentioned
    0 Post(s)
    Reputation
    27/102
    Waarschijnlijk worden er idd nieuwe radiobuttonlist objecten aangemaakt wanneer de pagina wordt "teruggezonden" naar je server. Je manier van werken is sowieso af te raden.
    “In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
    PSN: Cycloon - Final Fantasy XIV: A realm reborn character
    no votes   Reply With Quote Reply With Quote

  4. #4
    Adelbert's Avatar
    Registered
    19/09/06
    Location
    Brugge
    Posts
    1,417
    iTrader
    12 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/10
    enige suggesties van hoe het wel te doen dan? probleem is dat de aantal radiobuttonlists dat ik nodig heb niet vastligt, hangt af van de hoeveelheid vragen in een XML file.

    Balen dat die referenties niet meer kloppen
    -> ->
    no votes   Reply With Quote Reply With Quote

  5. #5
    Cycloon's Avatar
    Registered
    18/01/04
    Location
    Melle
    Posts
    10,535
    iTrader
    56 (100%)
    Mentioned
    0 Post(s)
    Reputation
    27/102
    Vermits je de pagina kan opbouwen aan de hand van die XML file weet je ook bij het ontvangen aan de hand van je XML file hoeveel lists je zal hebben toch?

    Quote Originally Posted by Adelbert View Post
    This quote is hidden because you are ignoring this member. Show
    Balen dat die referenties niet meer kloppen
    Stel je voor dat die allemaal in het geheugen blijven zitten elke keer een pagina geladen wordt, je RAM geheugen zou vlug vol zitten.
    “In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
    PSN: Cycloon - Final Fantasy XIV: A realm reborn character
    no votes   Reply With Quote Reply With Quote

  6. #6
    breez's Avatar
    Registered
    25/12/02
    Location
    Brugge
    Posts
    3,975
    iTrader
    17 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/49
    al geprobeerd met if(!this.isPostBack) ?
    no votes   Reply With Quote Reply With Quote

  7. #7
    Adelbert's Avatar
    Registered
    19/09/06
    Location
    Brugge
    Posts
    1,417
    iTrader
    12 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/10
    ik clear me cache elke keer, uiteindelijk is dat de verantwoordelijkheid van de programmeur niet? zorgen dan het RAM niet volloopt?

    en isPostBack verranderd niets aan het feit dat ik de referenties naar mijn dynamische objecten verlies :<
    -> ->
    no votes   Reply With Quote Reply With Quote

  8. #8

    Registered
    08/11/03
    Location
    Antwerpen
    Posts
    1,726
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    2/2
    Quote Originally Posted by Adelbert View Post
    This quote is hidden because you are ignoring this member. Show
    ik clear me cache elke keer, uiteindelijk is dat de verantwoordelijkheid van de programmeur niet? zorgen dan het RAM niet volloopt?

    en isPostBack verranderd niets aan het feit dat ik de referenties naar mijn dynamische objecten verlies :<
    Natuurlijk is het uw verantwoordelijkheid WEL hoe jouw applicatie met geheugen omgaat.

    Je gebruikt best de viewstate om je lijst van radiobuttonlists bij te houden. Op die manier wordt de lijst geserialised naar de response die naar de gebruiker wordt gestuurd. De response zal dan wel enkele KB groter zijn, maar dit is te verwaarlozen als je geen zotte dingen doet. Als je de lijst dan terug uit de viewstate haalt, wordt hij terug gedeserialised.

    Als je de viewstate niet kent: de werken is het zelfde als de session, enkel is de viewstate pagina-afhankelijk.
    no votes   Reply With Quote Reply With Quote

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in