26. december 2004 - 15:39Der er
12 kommentarer og 1 løsning
knap på ascx fil virker ikke
Jeg har en control hvorpå jeg viser resultater af en søgning. Disse resultater vises i en pager jeg har lavet.(altså resultater er splittet op på flere sider)
Problemet er bare at de imagebuttons jeg har lavet på kontrollen ikke kalder den kode jeg har bundet Click-eventet op på i code behind. Skal der laves noget specielt for at enable knapper på ascx-controls eller er der noget jeg har misforstået?
Hvis du skifter til design mode, og trækker en knap ind på ascx controllen, double clicker den og sætter et break point i eventen. Sker der så ikke noget?
okay...jeg fandt fejlen....Det er fordi den usercontrol ligger på en anden usercontrol...som så ligger oven på aspx-siden. I den mellemste usercontrol loader jeg den øverste i codebehind....Det gjorde jeg kun på !postback....så det var lidt en fejl 40 hæhæ :)
ok, lød også meget mystisk at det ikke virkede hehe. Var sikker på at vi snakkede ved siden af hinanden på en eller anden måde.
Tror jeg bruger MVC halvt når jeg laver asp.net applikationer heh, får som reglen blandet V og C sammen i codebehind klasserne. Der findes mange artikler på nettet omkring det hvis du googler lidt, jeg synes at huske der var en større god artikel om det pattern i .NET på msdn. Men med mindre det er en stor applikation man har gang i, så jeg synes hurtigt det bliver overkill hvis man skal til at følge det 100% :)
okay...jeg har nemlig et problem med at et dataset jeg har fyldt op med tabeller ved pageload stadig er aktive ved næste request... Hvor længe lever de objekter man laver i code-behind? Altså fx. hvis jeg i en aspx.cs fil i pageload tilskriver en klassevariabel med en datatable....Hvornår kan jeg så gendanne samme datatable igen? Jeg får nemlig en datatable already exists in dataset når jeg ved næste request prøver at fylde en ens datatable i datasettet..altså ens med den datatable jeg puttede i ved forrige request. Jeg troede at objekterne man oprettede kun havde levetid i 1 request.
Dine variabler mister sine værdier imellem requests. Den eneste måde du gemmer værdier på tværs af requests er med Session, Application eller ViewState. Så jeg vil tro, at du kommer til at loade data i dit dataset to gange på samme request på en eller anden måde. På samme request kan du godt få afviklet Page_Load på din aspx side, og derefter på user controllen (ascx siden). Så et request kan godt afvikle flere page_load's. Så dine objecter instanser lever kun indtil din side er sent ud til klienten. Jeg er dog ikke 100% sikker på hvordan det hænger sammen med statiske variabler.
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.