26. november 2007 - 10:31Der er
18 kommentarer og 1 løsning
If sætninger med 5 radiobuttonlist (hvordan)
Hej,
Hvis jeg har 5 spørgsmål i form af radiobuttons der er forholdsvis ja/nej spørgsmål, hvordan samler jeg så det sammen til sidst i en if-sætning?
Jeg forestiller mig noget ligende at der skal laves 5 variabler der hedder spm1, spm2, smp3, sm4 og spm5 hvorefter at sætningen skal værenoget ligende:
if (spm1 == ja) and (sm2 == nej) and (smp3 == nej) and (spm4 == ja) and spm5 == ja) lblResult.Text = "Du har svaret rigtig på alle spørgsmålene";
else lblResult.Text = "Du glemte at udfylde en eller flere felter";
Er her nogle der lynhurtigt kan sætte det op som det rigtigt skal se ud?
En ting mere hvis nu svarresultatet en en masse tekst i form af html, er det så samme fremgangsmåde eller er der en mere rigtig måde at gøre det på?
og så skal jeg i selve front-end delen sætte values som ja/nej ?
Feks:
Hvor bor du<br /> <asp:RadioButtonList ID="RadioButtonList2" runat="server" CssClass="radiotext"> <asp:ListItem Value="ja">Jeg bor i Storkøbenhavn</asp:ListItem> <asp:ListItem Value="nej">Jeg bor ikke i Storkøbenhavn</asp:ListItem> </asp:RadioButtonList>
Gider du bruge 2 min mere på mig, så vil jeg være dig evig taknemmelig :)
Nu sidder jeg ikke på min egen pc, så kan ikke tjekke før imorgen tidlig. Jeg kan ikke huske fejlen præcist men tror måske det var i if(spm1 == ) sætningen. Men hvis jeg tilføjer .value fixer det sikkert fejlen ;-)
Hvis jeg benytter navnet "spm1" skal det så ikke defineres et eller andet sted? Lige nu ved programmet jo ikke at RadionButton 1 = smp2..
Beklager hvis det et dumt spørsmål men jeg er kun lige begyndt på programmering :)
En sidste ting, det er C# jeg arbejder i,nu er det ikke VB edet her vel? måske kunne det være fejlen.
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: CS0117: 'System.Web.UI.WebControls.RadioButtonList' does not contain a definition for 'Value'
Source Error:
Line 11: { Line 12: Line 13: string spm1 = RadioButtonList1.Value.ToString(); Line 14: string spm2 = RadioButtonList2.Value.ToString(); Line 15: string spm3 = RadioButtonList3.Value.ToString();
Når man har svaret på alle 5 spørgsmål får man en af disse meddelelser:
if(spm1 == "ja" && spm2 == "ja" && spm3 == "nej" && spm4 == "nej" && spm5 == "ja") { lblResult.Text = "Du har svaret rigtig på alle spørgsmålene"; } else { lblResult.Text = "Du svarede forkert på et eller flere spørgsmål";
}
Hvis jeg ønsker at have flere mugligheder for at svare rigtigt (altså flere if-sætninger) hvad er der så galt i dette (jeg får ikke fejl men det virker ikke)
if(spm1 == "nej" && spm2 == "ja" && spm3 == "nej" && spm4 == "nej" && spm5 == "ja") { lblResult.Text = "Du har svaret rigtig på alle spørgsmålene"; }
if(spm1 == "ja" && spm2 == "ja" && spm3 == "nej" && spm4 == "nej" && spm5 == "ja") { lblResult.Text = "Du har svaret rigtig på alle spørgsmålene"; }
if(spm1 == "ja" && spm2 == "ja" && spm3 == "nej" && spm4 == "nej" && spm5 == "nej") { lblResult.Text = "Du har svaret rigtig på alle spørgsmålene"; }
else { lblResult.Text = "Du glemte at udfylde et eller flere felter"; }
Og så smid endelig et svar så du kan få dine meget velfortjente point :)
Grunden til at det gik galt for dig er at hvis det eksempelvis er den første if som er sand så vil den 3. være falsk og derfor vil programmet hoppe ind i din else.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.