Tanken är alltså att en postback görs vid klick på <asp:button> och det är då det tar tid att ladda allt igen?
Måste du ha postbacks isf? <asp:HyperLink> om det är en länk?
8 svar · 340 visningar · startad av Han-Solo
Har ett delikat litet problem.
Jag har gjort en sida där jag använder mig av ett javascript som skapas dynamiskt.
<script src=jscrip.aspx>
Det fungerar fint. aspx-sidan kan ibland behöva vänta i c:a 30s, innan svaret returneras. Fungerar oxå fint.
I sidan som anropar javascripten har jag dels vanliga url:er men oxå servercontroller. <asp:button...>. Dessa ger mig problem.
När jag försöker lämna sidan med en url går det unda, precis som det ska. MEN när jag försöker klicka på en servercontroll så vill ju servercontrollen vänta på att aspx.koden, nämnd tidigare skall bli klar, vilket tar 30s. = ohållbart!
Jag har försökt att tråda eländet utan framgång. (svaret på den andra tråden som köras skrivs aldrig till det "virtuella" javascriptet, då den ursprungliga tråden lämnat och, vad jag skulle tro, genererat en tom "virtuell" javascriptfil).
Någon som har ett tips?
Tanken är alltså att en postback görs vid klick på <asp:button> och det är då det tar tid att ladda allt igen?
Måste du ha postbacks isf? <asp:HyperLink> om det är en länk?
Jo, det är det jag måste tyvärr.
Det jag gjort är en customcontrol som skall kunna användas på "vilken sida som helst"
Kan du inte i den "övergripande" sidan kolla om det är en postback eller inte och på så vis välja att inte skriva ut <script> koden?
Nu vet jag inte om det går (har aldrig testat) men borde man inte kunna cacha resultatet av jscript.aspx i jscript.aspx. Och sedan när du gör en postbacks så kollar man om just detta script finns i cachen och så fall så skickar man tillbaka innehållet i cachen istället för att din jscript.aspx sida skall behöva exekveras färdigt...
Dock så är jag förvånad att du accepterar att det kan ta 30 sekunder för jscript.aspx sida att genereras, men jag vet ju inte vad det gör så det kanske är okej!
Mitt tips till dig blir om du i Page_UnLoad() eventet kan plocka ut den ström som skall skickas till webläsaren och spara den i en cache och sedan i Page_Load()/Page_Init() plocka ut denna information från en cache och då inte generera om sidan.
- Magnus
Nä, tyvärr det funkar inte... javascriptet är i principt unikt varje gång. (iaf i teorin). Så någon cache funkar inte.
Vad gäller tiden 30s, så skulle jag gärna se att den var längre. :) Men jag ville inte sätta 60 eller 90s med risk för att aspx scripten timearut.
Det jag gör är att jag sätter ett "finger" på en post i databasen. Den posten ändras oerhört sällan, men då den ändras vill jag ha svaret direkt.
events i sql-server -> som skjuter det till en .cs sida så är allt biff.......
??? Skall det var unikt för en Postback med? Om inte så skulle det fungerar med cachen, iallafall om det måste vara med, om du inte behöver javascriptet vid en postback så ta bortet.
Måste javascriptet vara unikt även för en postback så måste du tyvärr köra ditt script även vid en postback och då får man ta att man måste vänta.
Är dock intresserad hur du löst att du får ett event när en post i databasen har ändrats in i din ASP.NET sida utan att den måste laddas om?
- Magnus
mja-a jag får klura lite till på dethär... jag bara SKA lösa det, på nått :i sätt... det svåra - som jag trode - är ju redan löst, auto updateringen... Angående den så får jag inte, pga min uppdragsgivare förmedla... jag vet, det är magstarkt att be om hjälp här och sen inte bjuda tillbaka, men så får det bli för tillfället. Kanske sen, när allt är preskriberat...
Hittade ett annat, enligt mig bättre sätt att lösa detsamma på. Dock endast fungerande i IE.
snabbkika på:
http://msdn.microsoft.com/workshop/author/webservice/using.asp
eller googla efter typ webservice.htc