23. maj 2008 - 14:27Der er
4 kommentarer og 2 løsninger
Contentfunktion skal vises i Masterpage m. C#
Hej.. Jeg har lavet en hjemmeside med Masterpage i asp.net C#.
I min ContentPlaceHolder1 har jeg lavet indkøbsfunktion med en "Læg i kurv" knap. Jeg vil gerne at når man klikker på læg i kurv opdateres min label uden for ContentPlaceHolder (altså i masterpage) med antal vare.
Jeg kan fint få det til at virke hvis jeg køre det hele i en almindelig aspx side.
Men så snart jeg prøver at hente inde data ud fra Content til Masterpage får jeg fejlen "does not exist in the current context".
Denne kode bruges ved "læg i kurv" knappen.. (contentplaceholder) Så har jeg lagt de labels den skriver ud i i masterpage. (lblUd.Text, lblPris.Text, lblPrisTotal.Text)
//EN INT DER TÆLLER ANTAL VARER OP OG VISER DET // initiering af en hjælpevariabel int intHjaelpeTaeller = 0;
// Hvis det er første køb, sættes antalvarer til 1 if (Session["AntalVarer"] == null) { Session["AntalVarer"] = 1; } else { // Sessionsvariablen konverteres til integer og tælles op intHjaelpeTaeller = Convert.ToInt16(Session["AntalVarer"]); intHjaelpeTaeller++; // Værdien gemmes i sessionsvariablen igen Session["AntalVarer"] = intHjaelpeTaeller; } // udskrivning af antalvarer købt lblAntalUd.Text = Convert.ToString(Session["AntalVarer"]);
//EN TÆLLER DER TÆLLER OP OG LÆGGER SAMMEN I KURVEN int intPris = 0; int intPrisIalt = 0; intPris = Convert.ToInt16(grdRow.Cells[2].Text);
Okay, fint... så skal du hellere sætte din sidste linje (lblPrisTotal.Text = Convert.ToString(Session["PrisTotal"]) + " kr";) ind i masterpage onload eventhandleren i stedet.
Husk at rette den til, så den håndterer de tilfælde korrekt, hvor der ikke er noget i kurven.
På den måde gør du de to dele uafhængige af hinanden, og det bliver meget lettere at vedligeholde siden.
placere <%@ MasterType VirtualPath="~/MasterPage.master" %> i din aspx side, så har du tilgang til din MasterPages offentlige egenskaber. I disse kan du sætte din label.
F.eks public string LabelOnMasterPage { get { return Label1.Text; } set { Label1.Text = value; }
}
så kan du tilgå den fra din aspx sider med Master.LabelOnMasterPage
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.