Ska skapa en huvudmeny med bilder. Varje menyval kan vara antintingen aktiv eller inaktiv. I vanliga fall gör jag mest sidor i PHP och hade då gjort en meny.php som jag inkluderar på alla sidor och sen kollar vilken sida jag befinner mig på. Befinner jag mig på den sida menyvalet pekar på så får det menyvalet sin aktiva bild. Detta försöker jag nu fixa med .net. Vet dock inte om det är lämpligast att lösa problemet på samma sätt som i PHP, om nån har bättre förslag är jag intresserad av att höra det! (Använder .net 1.x) Om du vill skriva link[i] .ImageUrl = arrMeny[i]; måste du Gör en array som innehåller referenser till kontrollerna:Kan inte .net eller c# men måste nu skapa en dynamisk meny! Hjälp!
Så långt jag kommit nu är iaf att jag har HyperLink-objekt som länkar som heter link1, link2, ... link5.
Längst upp i sidan har jag:
void Page_Load(Object Sender, EventArgs e) {
for (int i=1; i<5; i++){
string tempLink = "img/grafik/meny/";
tempLink += arrSida[i-1];
if (i==sida) {
tempLink += "_vald";
}
tempLink += ".png";
link1.ImageUrl = tempLink;
}
}
Vilket fungerar och sätter link1-bilden till link5:s bild. Här skulle jag vilja byta ut koden:
link1.ImageUrl = arrMeny[i];
till nånting i stil med
link(i) .ImageUrl = arrMeny[i];
Jag vet dock inte hur.
Egentligen är väl min fråga bara hur jag kan använda en variabel i min variabel, men jag misstänker att mitt sätt att skapa menyn inte utnyttjar .net:s potential.
Kan passa på och fråga om nån vet om det finns nån funktion liknande floor i PHP, alltså som rundar ner exempelvis 1.9999 till 1? Hur får man ut hur många element det finns i en array, typ som count(arrSida) i PHP?
Detta är väldiga nybörjarfrågor antar jag, men jag har tyvärr inte tid att lära mig c# och .net ordentligt innan det här ska vara färdigt.
Mvh KristoferSv: Kan inte .net eller c# men måste nu skapa en dynamisk meny! Hjälp!
skapa en vektor (array) som heter link.
/MagnusSv: Kan inte .net eller c# men måste nu skapa en dynamisk meny! Hjälp!
HyperLink[] link = new HyperLink[] { link1, link2, link3, link4, link5 };
Observera att arrayer är noll-indexerade, så du får använda link[0] till link[4].
I .NET finns de matematiska funktionerna i klassen Math, alltså blir det Math.Floor().
Antalet element i en array får du ut med egenskapen Length: link.Length ger värdet fem.