webForumDet fria alternativet

AJAX asynchronous, vill kunna styra användarna mer

.NET

6 svar · 556 visningar · startad av gummi

Medlem sedan feb. 200712 inlägg
Frågan#1

Jag vet inte om jag har förstått MS AJAX rätt men enligt mina tester om man triggar en massa callbacks så bombarderar man servern med callbacks istället för att den tar en i taget. Går det att styra detta så att den inte gör någon callback om en callback redan är triggad?

(i mitt fall triggas callbacksarna i OnTextChanged på ett antal textboxar som ligger i samma formulär som måste fyllas i en i taget och baseras på varandra).

Problemet är att det är lite serverlagg ibland och när man fyllt i en textbox och min fina asp:UpdateProgress ploppar upp så struntar folk i att den laddar och fortsätter att fylla i forumläret (trigga andra callbacks innan den laddat klart).

nu hittade jag lite om beginRequest och endRequest här:
http://www.feed-squirrel.com/index.cfm?evt=viewItem&ID=66467

kanske kan hjälpa... posta gärna andra tips dock :)

Medlem sedan aug. 20039 340 inlägg
#2

Då får du skriva koden så att laddningen inte störs av att användaren skriver in någonting. Exakt vad gör dina callbacks? Kan du visa mer kod?

Medlem sedan feb. 200712 inlägg
#3

callbacksarna uppdaterar värden för intellisense till andra textboxar

exempel på intellisense: http://www.google.com/webhp?complete=1&hl=en

intellisensens möjliga värden är beroende utav värden i andra textboxar så det är lite noga med vad som ska göras först.

Nu har jag hittat massor med intressant läsning angående sådant som hjälper mig så jag tror jag kommer klara av detta, återkommer om jag inte gör det :P

http://asp.net/ajax/documentation/live/tutorials/UpdatePanelClientScripting.aspx

http://asp.net/ajax/documentation/live/tutorials/ExclusiveAsyncPostback.aspx

http://asp.net/ajax/documentation/live/tutorials/CancelAsyncPostback.aspx

Medlem sedan jan. 2007152 inlägg
#4

En annat tips (och som dessutom ger en positiv bieffekt) är att i updateprogress lägga en div (gör den transparent!) över hela sidan. Dels går det inte att göra något innan din postback gått tillbaka, dels får du en ganska behaglig respons tillbaka vilket åtminstone jag tycker är viktigt. Problemet med ajax annars är just att det kan vara svårt att ge användaren en naturlig feedback att sidan faktiskt jobbar. Visst, ibland vill man inte att det ska märkas förstås men ofta behövs det någon form av respons. Tycker jag...

Medlem sedan aug. 20039 340 inlägg
#5

En sak jag funderar på. Jag hoppas att du inte skickar en kritisk callback för varje knapptryckning, så användaren måste vänta mellan varje knapptryckning.

Medlem sedan apr. 200312 679 inlägg
#6

Tråden flyttas från Kolla min hemsida.

Medlem sedan feb. 200712 inlägg
#7

butiko, att göra en sådan transparent div är skitbra, sådan har jag nu. Men hur förhindrar man att man inte ska navigera med tangentbordet och trigga ytterligare callbacks (Det går ju att med tab-tangenten navigera till ställena där det triggas callbacks/postbacks). Har gjort lite försök med att så fort man lämnar textboxen (onblur) då triggas callback och man flyttar focus till en kontroll som har "return false" vid tangentbordstryckningar, när callback är klart så flyttas man tillbaka till "rätt kontroll" ... det är fruktansvärt jobbigt att hålla reda på rätt kontroll dock...

253 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)