Avatar billede stephanryer Nybegynder
19. januar 2006 - 14:39 Der er 33 kommentarer og
2 løsninger

Kalde en aspx-side uden at redirecte for at køre noget kode.

Hvordan kører jeg en aspx-fil uden at blive directed dertil i min browser? Jeg benytter en aspx-fil til at opdatere noget i en database.

Når brugeren så klikker et sted skal mit javascript sørge for at den passende aspx bliver kørt og så derefter refreshe siden.

På forhånd tak.
Avatar billede softspot Forsker
19. januar 2006 - 14:44 #1
Du skal nok tænke i classlibrary i stedet for. Hvis du laver en class, som du kan inkludere og benytte i din ASPX-side, så behøves du ikke tænke på redirect og andre "gammeldags" metoder til at akivere delopgaver...
Avatar billede stephanryer Nybegynder
19. januar 2006 - 14:45 #2
Jo for jeg vil eksekvere det fra mit java script.
Avatar billede roenving Novice
19. januar 2006 - 14:46 #3
-- ellers kan du gøre det, at du opdaterer en skjult iframe, forsøger at indlæse en src til et Image-objekt eller på anden måde kan få sendt en http-request af sted !-)
Avatar billede softspot Forsker
19. januar 2006 - 14:47 #4
Hov! Lidt for "hurtig" til at læse dit spm. Hvis det er fra klienten du skal kalde noget serverkode uden at skifte side, så er en metode da at lave en iframe på siden som du kalder siden igennem. Når den iframe så loader, kan du gøre hvad der skal gøres på klienten.

Men hvis der er tale om at klienten skal opdateres, hvorfor så ikke bare kalde en serverside som sørger for denne opdatering og samtidig sørger for at opdatere databasen...?
Avatar billede stephanryer Nybegynder
19. januar 2006 - 14:48 #5
det ER også en serverside jeg vil kalde. Men jeg vil ikke redirectes til denne side.
Avatar billede softspot Forsker
19. januar 2006 - 14:50 #6
Jo, men hvad er det for en opdatering du snakker om der skal ske efter databaseopdateringen er gennemført?
Avatar billede stephanryer Nybegynder
19. januar 2006 - 14:52 #7
jeg vil lave en poll med javascript. Når klienten klikker skal dette klik opdateres i databasen og siden skal loades. IP'en gemmes også i databasen og når siden loades igen vil man se poll resultaterne istedet for at kunne stemme igen.
Avatar billede stephanryer Nybegynder
19. januar 2006 - 14:53 #8
derfor skal siden bare loades igen da denne side selv sørger for at undersøge om brugeren har stemt tidligere.
Avatar billede softspot Forsker
19. januar 2006 - 14:57 #9
OK, det er sikker mig der er tungnem, men hvorfor kan du ikke bare lade hele siden poste tilbage til serveren og håndtere det link eller den knap der angiver hvad man har stemt på i din afstemning? Den side hvorpå afstemningen ligger, kan jo godt finde ud af om denne bruger har stemt eller ej og dermed vælge om der skal vises afstemningsformular eller resultater...?
Avatar billede roenving Novice
19. januar 2006 - 14:58 #10
-- eller kaste poll-formularen ind i en iframe, som så sendes som et selvstændigt dokument !-)
Avatar billede stephanryer Nybegynder
19. januar 2006 - 15:14 #11
iframe = NEJ TAK.

Well en postback vare også en mulighed. Så skal jeg bare vide hvordan jeg sætte nogle postback variabler dynamisk i mit script og derefter foretager denne postback.

Alt dette skal ske når en bestemt metode køres.
Avatar billede stephanryer Nybegynder
19. januar 2006 - 15:14 #12
metode = function
Avatar billede roenving Novice
19. januar 2006 - 15:18 #13
Hvorfor nej tak til iframes ?-)

-- netop til en sådan afgrænset opgave vil man netop overhovedet aldrig støde ind i de problemer, der er med den slags !-)
Avatar billede softspot Forsker
19. januar 2006 - 15:20 #14
Hvilke variabler og under hvilke omstændigheder?
Avatar billede stephanryer Nybegynder
19. januar 2006 - 15:20 #15
jeg vil ikke have noget skjult jalla jalla kode. Jeg vil have pæn kode. Jeg ønsker at få kørt en aspx fil (kunne ligeså godt være en php-fil) og så refreshe den samme side igen. Det kan da ik være voldsomt kompliceret?
Avatar billede stephanryer Nybegynder
19. januar 2006 - 15:23 #16
altså hvis det skal være en postback så skal ip'en og stemmen gemmes så de kan hentes i min asp.net fil via Request.QueryString("ip") fx.
Avatar billede softspot Forsker
19. januar 2006 - 15:23 #17
Hvad er pæn kode? Er det noget der ikke er for avanceret eller hvad er dine kriterier for dette? Hvis du vil have pæn kode, så er en iframe nok den reneste løsning (som roenving også siger). Her får du isoleret opgaven med at opdatere databasen og viser det rigtige information efterfølgende, uden at hovedsiden skal involveres i de der implementeringsdetaljer vedr. afstemningen...
Avatar billede stephanryer Nybegynder
19. januar 2006 - 15:25 #18
Det hele foregår i en asp.net usercontrol så dette i sig selv skulle sagtens kunne afskærme problemet fra hovedsiden.
Avatar billede softspot Forsker
19. januar 2006 - 15:28 #19
Hvorom alt er så kan du lægge en eller flere (server- eller html-)kontroller på din side (husk runat="server"), som du så kan håndtere på serveren via f.eks. onclick-event eller hvad den pågældende kontrol nu engang tilbyder. Hvis det f.eks. er en asp:Button du smider på, så kan du jo pakke koden til opdatering af databasen pænt ind i onclick event-handleren, hvilket jo er helt ok - eller hvad?
Avatar billede stephanryer Nybegynder
19. januar 2006 - 15:30 #20
ja men problemet er at jeg vil sende den præcis position for musen som der klikkes på inden for et bestemt felt. Jeg laver det i flash istedet. Der kan det laves på en halv time. Synes bare det ku være sjovt at prøve i js. I kan lægge et svar og pointene alligevel hvis I vil.
Avatar billede softspot Forsker
19. januar 2006 - 15:32 #21
Hvis du bruger en <input type="image"> får ud også x og y koordinaterne med over i request.form("kontrolnavne.x"), så det kan lade sig gøre...
Avatar billede stephanryer Nybegynder
19. januar 2006 - 15:35 #22
well nu bliver det lavet i flash :) Afventer lige roenvings svar.
Avatar billede roenving Novice
19. januar 2006 - 15:38 #23
Oki '-)

-- men som softspot påpeger, er der intet poblem i at aflæse en position på den slags sbmit-knapper der hedder input type image !-)
Avatar billede roenving Novice
19. januar 2006 - 15:39 #24
...submit-knapper...
Avatar billede stephanryer Nybegynder
19. januar 2006 - 15:41 #25
well.... vil I give et lille eksempel? Hvis man let kan hive x og y -koordinaterne ud kan det være det ville være sjovere at lave det på jeres måde med input=image. :D
Avatar billede stephanryer Nybegynder
19. januar 2006 - 15:43 #26
Lige nu har jeg lavet et simpelt flash-object til at få koordinaterne men hvis det kunne ske ved postback kunne det måske være federe.

(min side er www.ryer.dk)
Avatar billede softspot Forsker
19. januar 2006 - 15:46 #27
HTML på klienten:

<input type="image" name="poll">



På serveren:

pollX = request.form("poll.x")
pollY = request.form("poll.y")


Så burde du have x- og y-koordinaterne i de to variable. Dette er råt og uden nogen form for fejlcheck, men princippet er som vist.
Avatar billede stephanryer Nybegynder
19. januar 2006 - 15:49 #28
hvilke fejl kunne der opstå?
Avatar billede stephanryer Nybegynder
19. januar 2006 - 15:49 #29
og hvad skriver man få at få vist et billede der?
Avatar billede softspot Forsker
19. januar 2006 - 15:57 #30
Såvidt jeg husker:

<input type="image" name="poll" src="billede.jpg">
Avatar billede stephanryer Nybegynder
19. januar 2006 - 15:58 #31
ok, well den her løsning er perfekt. Virkelig enkel og overskuelig. Tak for det !
Avatar billede softspot Forsker
19. januar 2006 - 15:59 #32
Velbekomme og tak for point :)
Avatar billede stephanryer Nybegynder
19. januar 2006 - 15:59 #33
np :)
Avatar billede roenving Novice
19. januar 2006 - 17:06 #34
-- og jeg takker også for point ;~}
Avatar billede stephanryer Nybegynder
19. januar 2006 - 17:54 #35
Well nu kan I se resultatet :D Under "Klik et tilfældigt sted" øverst i venstre hjørne på www.ryer.dk
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester