03. november 2008 - 10:21Der er
8 kommentarer og 1 løsning
Tjekke session før placeholder loades.
Jeg har lidt et problem som jeg ikke aner hvordan jeg skal løse.
Jeg har lavet en masterpage, med en placeholder hvori jeg gerne vil vise noget forskelligt om et project ud fra en parameter jeg har på session. Grunden til jeg har det på en masterpage er at jeg har flere forskellige sider, men de skal alle bruge session parameteren, bare til noget forskelligt.
Hvis der endnu ikke er valgt et projekt, og dermed ikke er skrevet noget til session skal der i stedet for info om projectet skrives "Intet project var valgt" eller noget tilsvarende (Altså en fejl der gør brugeren opmærksom på problemet).
Hvordan kan det løses programmeringsmæssigt? Jeg er IKKE interesseret i at have C# kode i aspx filen, jeg vil holde tingene adskilt, så en løsning skal laves i cs filen..
Jo, men problemet ligger så i at jeg skal tjekke det for hver af mine filer hvor jeg skal bruge data ud fra ID'et, da det ikke er samme data jeg skal bruge på hver side. Men jeg vil lige arbejde videre med din ide og se om det fører til noget brugbart.
Hvis andre har et forslag er i stadig velkomne til at svare.
Hmmmmm - hvis jeg har læst det du vil korrekt - så har torotune ret:
I din Page_Load på de forskellige sider gør du følgende: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Session("ProjectID") != null) { //Henter sessions projekt id int sessionid = Convert.ToInt32(Session("ProjectID"));
//Her gør du så det du skal gøre - hente data ind til din side og vise det udfra hvad der står i session } else { //Her skriver du din fejlmeddelelse til en label du har sat på aspx siden } } }
Ja, du kan også bare oprette ovenstående ét sted i en klasse, som en Shared Function, og kalde den hver gang du skal bruge den. (ved ikke om det hedder Shared Function i C#)
Jeg løste det ved at smide en label ind under placeholderen. Jeg tjekkede så session for projectId og hvis den var tom fjernede jeg placeholderen og skrev en fejl til den label. I mellemtiden er jeg løbet ind i at jeg også gerne vil tjekke for andre ting på andre sider så vil du forklare lidt nærmere om de shared functions? (Principperne bare - jeg er klar over du ikke kender til C#).
Synes godt om
Ny brugerNybegynder
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.