Hej. Glöm inte att sätta UpdateMode=Conditional för din UpdatePanel. Jag har satt UpdateMode=Conditional och har dessutom children as triggers men fortfarande körs page_load Har jag förstått AJAX.Net fel, körs HELA sidans lifecycle så fort serverkod är inblandad? Jag tittade lite på Anthem.Net, och där skrivs det uttryckligen att ett anrop till kontrollens event INTE innebär att sidans lifecycle körs. Hela livscykeln körs, men endast deltat (skillnaden) i output skickas till webbläsaren. Om du vill köra en metod utan att posta sidan överhuvudtaget (ingen postback, alltså ingen partial postback) kan du anropa en sidmetod eller en web service med Javascript med hjälp av ASP.NET AJAX: http://www.tednyberg.com/Default.aspx?id=70 Om du har kod i Page_Load som gör data-access varje gång vid en post-back (se över om du verkligen behöver det, för du kan använda ViewState för att slippa det etc) så kommer den datan anropas vid en async postback. För att se till att det inte händer så kan du använda dig av ScriptManger's IsInAsyncPostBack för att se om det är en async. postback eller vanlig postback som kör sidan. När det gäller async. postback så kommer alla event på sdian att köras, alltså en normal postback, det som skiljer sig är att bara Redner för de kontroller som ligger inom en UpdatePanel (den UpdatePanel som är reggad att uppdateras) kommer att utföras.. sedan kommer ett spec. format skickas tillbaka som ASP.Net Ajax client-scirpt förstår, detta tillsammans med HIDDEN input värden.AJAX partial update
Jag håller på med en sida som vid sidladdning fyller ett antal kontroller från en databas vilket tar lite tid. I en dropdownlist på sidan vill jag förändra innehållet i en label och jag hoppades kunna göra detta i en AJAX updatepanel. Problemet är att om jag gör en postback till servern så laddas all data om igen och jag vill helst inte lägga för mycket programlogik i javascript.
Känner någon till om man vid page_load, init osv kan titta på vilken updatepanel postbacken genererades ifrån och på så sätt hoppa till rätt metod direkt som påverkar enbart den aktuella textboxen? Sv: AJAX partial update
Om den "triggande" kontrollen ligger utanför din UpdatePanel måste du lägga till en ASyncPostBackTrigger för den kontrollen.
/Ted
www.tednyberg.comSv:AJAX partial update
Sv: AJAX partial update
Eventuella förändringar av markup:en måste du dock då göra med Javascript.
Vad gör metoden du vill anropa?
Du kan också kolla vilken kontroll som triggade postbacken genom EventArgs-objektet och då ta reda på om saker i OnLoad-eventet ska köras eller inte.Sv: AJAX partial update
/Fredrik Normén
ASP.Net MVP - Cornerstone
blog: http://fredrik.nsquared2.com