Ik heb een aspx pagina met een zelfgemaakte webcontrol in. De control haalt een vraag met bijhoorden antwoorden op uit een database, en vervolgens worden er controls aangemaakt die de vraag en antwoorden op een pagina zet, met mogelijkheid voor de bezoeker om een antwoord te selecteren.
Voor 1 soort vraag maak ik allemaal aparte radiobuttons aan en deze pleur ik vervolgens in een tabel. Ik moet deze allemaal apart aanmaken, omdat er bij 1 radiobutton een tekstveld hoort, en deze kan ik niet toevoegen aan een RadioButtonList. Het vreemde is nu dat hij van deze radiobuttons de waardes niet onthoudt na een postback. Dus als de gebruiker zijn waardes submit, is er geen enkele radiobutton geselecteerd. Ik heb in dezelfde control nog andere soorten vragen zitten, deze werken met radiobuttonlist, checkboxlist en textboxes. Van deze controls onthoudt die wel de vragen na een postback. De controls worden op dit moment in de Page_Init aangemaakt, ik heb ze ook al proberen aan te maken in de Page_Load, maar ook dit heeft geen effect. Mijn control implementeert momenteel ook INamingContainer, dit zou een mogelijke oplossing zijn, maar ook dit werkt niet. Ik heb ook al geprobeerd de EnableViewState, expliciet op true te zetten, maar dit helpt niet. Verder heb ik ook de id's van de controls al nagekeken voor en na de postback, en deze zijn gewoon hetzelfde. Het is dus allemaal maar heel vreemd. Hier is de code waar de radiobuttons worden aangemaakt.
Voor 1 soort vraag maak ik allemaal aparte radiobuttons aan en deze pleur ik vervolgens in een tabel. Ik moet deze allemaal apart aanmaken, omdat er bij 1 radiobutton een tekstveld hoort, en deze kan ik niet toevoegen aan een RadioButtonList. Het vreemde is nu dat hij van deze radiobuttons de waardes niet onthoudt na een postback. Dus als de gebruiker zijn waardes submit, is er geen enkele radiobutton geselecteerd. Ik heb in dezelfde control nog andere soorten vragen zitten, deze werken met radiobuttonlist, checkboxlist en textboxes. Van deze controls onthoudt die wel de vragen na een postback. De controls worden op dit moment in de Page_Init aangemaakt, ik heb ze ook al proberen aan te maken in de Page_Load, maar ook dit heeft geen effect. Mijn control implementeert momenteel ook INamingContainer, dit zou een mogelijke oplossing zijn, maar ook dit werkt niet. Ik heb ook al geprobeerd de EnableViewState, expliciet op true te zetten, maar dit helpt niet. Verder heb ik ook de id's van de controls al nagekeken voor en na de postback, en deze zijn gewoon hetzelfde. Het is dus allemaal maar heel vreemd. Hier is de code waar de radiobuttons worden aangemaakt.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| radioList = new ArrayList(); string radioGroup = question.Id.ToString(); for (int i = 0; i < answers.Length; i++) { RadioButton button = new RadioButton(); radioList.Add(button); button.Text = answers[i]; button.GroupName = radioGroup; TableCell buttonCell = new TableCell(); buttonCell.Controls.Add(button); TableRow answerRow = new TableRow(); answerRow.Cells.Add(buttonCell); questionTable.Rows.Add(answerRow); } |