I min codebehind har jag skapat en metod för submit-knappen:
protected void BtnSubmit_Click(Object sender, EventArgs e)
{
Answers a = new Answers();
// läs listan med svaren från radiolistan.
// ...
}
Har försökt att använda questions.FindControl("answer") för att försöka hitta den kontrollen, den som ligger i repeatern för att sedan hämta ut de svar som är förbockade. Men den inte hittar inte kontrollen..
Hur skall göra här för att jag skall få tag på mina svar från Radiobuttonlist som finns i repeatern?
Så här har jag gjort för att rätta ett prov jag gjort tidigare. Med just en repeater. Rätt eller fel vet jag inte med det fungerar iaf
// Rätta almänna frågor
foreach (DataListItem dli in DLFragor.Items)
{
_antalFragor++;
Label lblFraga = (Label)dli.FindControl("FRAGALabel");
RadioButtonList rbl = (RadioButtonList)dli.FindControl("rblsvar");
HiddenField hFraga = (HiddenField)dli.FindControl("FragaNR");
_fragaNr = int.Parse(hFraga.Value);
string tmpSvar = rSvar.GetCorrectAnswer(_fragaNr, decimal.Parse(rbl.SelectedValue.ToString())).ToString();
// Om jag får i retur så är det rätt svar och frågans id kommer fram
if (!String.IsNullOrEmpty(tmpSvar))
{
_antalRatt++;
lblFraga.BackColor = System.Drawing.Color.LightGreen;
}
else
{
_felSvar += lblFraga.Text + "\r\r";
lblFraga.BackColor = System.Drawing.Color.LightPink;
}
}
Jo tack... så klart man måste loopa igenom repeaterns items. :) Nu hittade jag kontrollen i alla fall, nu får jag inte ut något värde bara! Alltid kommer det ett nytt problem efter man har löst det där innan.
Kanske missat något.. men jag kan i alla fall räkna antalet items radiobuttonlist, så nog hittade man den alltid.. hehe..
Ah ja.. nu skall se om jag kan lösa det andra problemet.