Avatar billede alpapa Nybegynder
08. maj 2003 - 12:57 Der er 6 kommentarer og
2 løsninger

Husk variable

Hejsa C# / ASP.NET eksperter.

Er lige begyndt med lidt C# programmering :-)
Jeg vil lave en quiz med fem spørgsmål, men jeg kan ikke få programmet til at huske variablen som indeholder de rigtige svar.

Håber I kan gennemskue koden...

http://www.whyweb.dk/NET/konkurrence.aspx

På forhånd tak
Alpapa
Avatar billede renesvane Nybegynder
08. maj 2003 - 13:03 #1
Læg svaret i en sessionsvaribel

session("svar")= "23"
Avatar billede alpapa Nybegynder
08. maj 2003 - 13:19 #2
Okay - kan du skive et eksempel, har nemlig prøvet og mit virkede ikke?
Avatar billede renesvane Nybegynder
08. maj 2003 - 13:27 #3
Uhh....Jeg er jo VB.NET mand...

Session["Svar"] = "1";

Det skulle være syntaksten for at gemme nogen i en sessionvariabel iC#.

Hvis du bruger () forventer den vidst en metode
Avatar billede alpapa Nybegynder
08. maj 2003 - 14:43 #4
Tja, jeg kan ikke få det til at funge - er det noget med at int svar;, i toppen af siden, bliver 0-stillet hver gang...

Følgende session variabler er mulige i C#:
Session.Abandon()
Session.CodePage
Session.Contents.Remove(key)
Session.Contents.Remove(position)
Session.Contents.RemoveAll()
Session.Contents[key]
Session.LCID
Session.SessionID
Session.StaticObjects[key]
Session.Timeout

Har prøvet med følgende uden held: Session.Contents["svar"] + 1;

alpapa
Avatar billede finger Nybegynder
08. maj 2003 - 15:35 #5
string myString = "Dette Gemmes";

at gemme:
Session["svar"] = myString;


Af finde frem igen:
myNewString = Session["svar"].ToString();
Avatar billede alpapa Nybegynder
08. maj 2003 - 16:25 #6
Hejsa finger - gider du sætte det ind i mit kontekst, er lidt usikker på hvor jeg skriver hvad, min kode er på linket.

Alpapa
Avatar billede finger Nybegynder
08. maj 2003 - 21:12 #7
Nu ved jeg ikke lige hvad det er du vil gemme, men her har jeg sat noget ind så du kan se hvordan man bruger session. (jeg har ikke testet det, men det burde være rigtigt.
---------------------------------
<%@ Page Language="C#" ContentType="text/html" Debug="True" ResponseEncoding="utf-8" %>
<html>
<head>
<title>Konkurrence</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script runat="server">
int svar;

void Page_Load(Object sender, EventArgs E)
{



if(!IsPostBack)
{
string svar = "det er gemmes";
Session["svar"] = svar;
}



if (tilstand.Text == "1")
{
Response.Write("<b>Score " + svar + "</b>");
spørgsmål.Text = "Første spørgsmål";
list1.Text = "1";
list2.Text = "2";
list3.Text = "3";
tilstand.Text = "2";
}
}

void klik(Object sender, EventArgs E)
{



string detDuGemte = Session["svar"].ToString();



string test = konkurrence.SelectedItem.Value;
if ((test == "3") && (tilstand.Text == "2"))
{
svar += 1;
Response.Write("<b>Score " + svar + "</b>");
}

if ((test == "1") && (tilstand.Text == "3"))
{
svar += 1;
Response.Write("<b>Score " + svar + "</b>");
}

if ((test == "2") && (tilstand.Text == "4"))
{
svar += 1;
Response.Write("<b>Score " + svar + "</b>");
}

if ((test == "3") && (tilstand.Text == "5"))
{
svar += 1;
Response.Write("<b>Score " + svar + "</b>");
}

switch(tilstand.Text)
{
case "2":
spørgsmål.Text = "Andet spørgsmål";
list1.Text = "1";
list2.Text = "2";
list3.Text = "3";
tilstand.Text = "3";
konkurrence.Items.FindByValue("1").Selected = false;
konkurrence.Items.FindByValue("2").Selected = false;
konkurrence.Items.FindByValue("3").Selected = false;
break;

case "3":
spørgsmål.Text = "Tredje spørgsmål";
list1.Text = "1";
list2.Text = "2";
list3.Text = "3";
tilstand.Text = "4";
konkurrence.Items.FindByValue("1").Selected = false;
konkurrence.Items.FindByValue("2").Selected = false;
konkurrence.Items.FindByValue("3").Selected = false;
break;

case "4":
spørgsmål.Text = "Fjerde spørgsmål";
list1.Text = "1";
list2.Text = "2";
list3.Text = "3";
tilstand.Text = "5";
konkurrence.Items.FindByValue("1").Selected = false;
konkurrence.Items.FindByValue("2").Selected = false;
konkurrence.Items.FindByValue("3").Selected = false;
break;

case "5":
spørgsmål.Text = "Femte spørgsmål";
list1.Text = "1";
list2.Text = "2";
list3.Text = "3";
tilstand.Text = "2";
konkurrence.Items.FindByValue("1").Selected = false;
konkurrence.Items.FindByValue("2").Selected = false;
konkurrence.Items.FindByValue("3").Selected = false;
break;
}
}
</script>
</head>
<body>
<form runat="server" id="myform">
<asp:literal runat="server" ID="tilstand" Visible="false" Text="1" />
<asp:literal runat="server" ID="spørgsmål" />
<asp:radiobuttonlist ID="konkurrence" OnSelectedIndexChanged="klik" runat="server" AutoPostBack="true">
<asp:listitem ID="list1" runat="server" Value="1" />
<asp:listitem ID="list2" runat="server" Value="2" />
<asp:listitem ID="list3" runat="server" Value="3" />
</asp:radiobuttonlist>
</form>
Den rigtige svar rækkefølge er 3, 1, 2, 3.
</body>
</html>
Avatar billede alpapa Nybegynder
10. maj 2003 - 12:02 #8
Tak for hjælpen, har fået det til at virke ;-)

Alpapa
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester