01. februar 2007 - 12:14Der er
11 kommentarer og 2 løsninger
Brug af Session i Page_Load
Hej Eksperter
Jeg har en side hvor jeg har en knap, når man trykker på knappen opdateres en session, men jeg skal klikke 2 gange for at indholdes af session vises på min side.
Når man trykker på knappen sættes der en Session["knap"] værdi, og der sker et PostBack.
Men ved hvis jeg prøver at bruge Session["knap"] fra Page_Load, er den altid en gang forsinket.
--------------- Kode ------------------------ private void Page_Load(object sender, System.EventArgs e) { if (IsPostBack) { if (Session["Knap"] != null) { TESTmsg.Text = Session["Knap"].ToString(); } } }
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Det er præcis som mikkel sommer siger. Page_Load bliver kaldt før eventuelle click events. Så der sker følgende:
1) Siden loades, Page_Load kaldes og IsPostBack returnerer false (den kommer ikke ned i "if") 2) Der klikkes på knappen. 3) Page_Load kaldes Session["Knap"] er lig med null Testmsg.Text bliver derfor ikke sat 4) Imagebutton1_Click eventen bliver kaldt og sætter Session["Knap"] = 1;
Som du kan se bliver Session["Knap"] først sat efter Page_Load. For at løse det kunne du jo refresh'e siden lige efter du har sat Session["Knap"] variablen i click event'en.
Du kan også definere et event på din aspx side som du så raiser fra din usercontrol derved kan du sætte værdier i kontroller på din aspx side med værdier fra din usercontrols.
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.