Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  5 2650
Hei der!
Ønsker å lagre et par tegn i en array som må lagres i en session. Deretter skal jeg kjøre gjennom arrayen med for-løkke og sjekke om noen bokstaver i arrayen stemmer med en if test jeg skal ha. Har skrevet noe, men får det &#%& ikke til.
Det som er markert med fet skrift er der jeg mistenker feilen ligger et sted. Noen som kan peke meg i riktig retning??

Kode

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page 
{
    //Session
    char arrayOrd = 'a';// Virker som jeg må ha en verdi der...???

    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["arrayOrd"] != null)
        {
            arrayOrd = (char)Session["arrayOrd"];
        }
    }
    protected void Page_Unload(object sender, EventArgs e) 
    {
        Session["arrayOrd"] = arrayOrd;
    
    }

    protected void btnStart_Click(object sender, EventArgs e)
    {
       char [] arrayOrd = txtOrd.Text.ToCharArray();//Putter txtOrd i array
    }
    protected void btnSjekkOrd_Click(object sender, EventArgs e)
    {
        if (arrayOrd.Length <= 13)
        {
            for (int i = 0; i <= arrayOrd.length ; i++ )
            {
                if (txtBokstavSjekk.Text.Length == arrayOrd[i]"Skal konvertere denne til string senere")
                {
                    labRiktigBokstav.Text += "Funker";
                }
                else {
                    labFeilBokstaver.Text += "Funker ikke";
                }
            }

        }
        else {
            //Annet hendelsesforløp
        }
    }
}
Har endret litt på koden din.

Kode

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    char[] arrayOrd;// Virker som jeg må ha en verdi der...???

    protected void Page_Load(object sender, EventArgs e)
    {

        if (Session["arrayOrd"] != null)
        {
            arrayOrd = (char[])Session["arrayOrd"];
        }
    }
    protected void Page_Unload(object sender, EventArgs e)
    {
        Session["arrayOrd"] = arrayOrd;

    }

    protected void btnStart_Click(object sender, EventArgs e)
    {
        char[] arrayOrd = txtOrd.Text.ToCharArray();//Putter txtOrd i array
    }
    protected void btnSjekkOrd_Click(object sender, EventArgs e)
    {
        if (arrayOrd.Length <= 13)
        {
            for (int i = 0; i <= arrayOrd.length ; i++ )
            {
                if (txtBokstavSjekk.Text.Length == arrayOrd[i]"Skal konvertere denne til string senere")
                {
                    labRiktigBokstav.Text += "Funker";
                }
                else {
                    labFeilBokstaver.Text += "Funker ikke";
                }
            }

        }
        else {
            //Annet hendelsesforløp
        }
    }
}
Trådstarter
82 3
Sitat av Zirto Vis innlegg
Har endret litt på koden din.

Kode

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    char[] arrayOrd;// Virker som jeg må ha en verdi der...???

    protected void Page_Load(object sender, EventArgs e)
    {

        if (Session["arrayOrd"] != null)
        {
            arrayOrd = (char[])Session["arrayOrd"];
        }
    }
    protected void Page_Unload(object sender, EventArgs e)
    {
        Session["arrayOrd"] = arrayOrd;

    }

    protected void btnStart_Click(object sender, EventArgs e)
    {
        char[] arrayOrd = txtOrd.Text.ToCharArray();//Putter txtOrd i array
    }
    protected void btnSjekkOrd_Click(object sender, EventArgs e)
    {
        if (arrayOrd.Length <= 13)
        {
            for (int i = 0; i <= arrayOrd.length ; i++ )
            {
                if (txtBokstavSjekk.Text.Length == arrayOrd[i]"Skal konvertere denne til string senere")
                {
                    labRiktigBokstav.Text += "Funker";
                }
                else {
                    labFeilBokstaver.Text += "Funker ikke";
                }
            }

        }
        else {
            //Annet hendelsesforløp
        }
    }
}
Vis hele sitatet...
Tusen tusen tusen tusen hjertelig takk!!! Funker utmerket!
Sitat av mikaoj95 Vis innlegg
Tusen tusen tusen tusen hjertelig takk!!! Funker utmerket!
Vis hele sitatet...
Bare hyggelig
Trådstarter
82 3
Ble kvitt de første feilmeldingene men det dukka opp et nytt når jeg prøvde å kjøre gjennom.
Vært borti "Objektreferanse er ikke satt til en objektforekomst."??
Koden stopper opp der jeg har markert med fet skrift og feilmeldingen: "Objektreferanse er ikke satt til en objektforekomst." dukker opp.

Kode

Linje 30:     protected void btnSjekkOrd_Click(object sender, EventArgs e)
Linje 31:     {
Linje 32:             for (int i=0; i <= arrayOrd.Length -1; i++ )
Linje 33:             {
Linje 34:                 if (txtBokstavSjekk.Text.Length == arrayOrd[i])
Virker som jeg bare får null på arrayOrd.
Ide om hva som kan være feil her og??
▼ ... noen uker senere ... ▼
Ser ut som om du har en bug her:

Kode

protected void btnStart_Click(object sender, EventArgs e)
{
    char[] arrayOrd = txtOrd.Text.ToCharArray();//Putter txtOrd i array
}
Selv om variabelen du setter heter arrayOrd så er det ikke den samme som du har opprettet tidligere i klassen. Du oppretter bare en lokal variabel i metoden. Fjerner du char[] derimot vil C# forstå at du ikke skal opprette en ny men referere til en eksisterende variabel. Sånn som du har gjort i Page_Load.

Dette skal altså være mere riktig:

Kode

protected void btnStart_Click(object sender, EventArgs e)
{
    arrayOrd = txtOrd.Text.ToCharArray();//Putter txtOrd i array
}
Håper det hjelper..