„Go to top” po asynchronicznym postbacku w UpdatePanelu
Dziś napotkałem banalny wydawać by się mogło problem, ale może komuś oszczędzi grzebania.
Miałem na stronie dwie listy – po lewej długą, po prawej krótką. Wykonanie akcji na lewej liście miało przeładowywać prawą. Realizacja „problemu” oparta o UpdatePanele, ustawione jako conditional. Nie wykonywał się więc postback całej strony a tylko asynchroniczne postbacki wybranych elementów.
Problem polegał na tym, że użytkownik będąc na końcu długiej listy i wywołując akcję nie widział krótkiej listy i nie widział, czy cokolwiek się działo. Najlepszym sposobem byłoby więc JavaScriptowe przewinięcie strony na górę po wykonaniu akcji…
Realizuje to poniższy kod:
var manager = Sys.WebForms.PageRequestManager.getInstance();
manager.add_endRequest(endRequest);
}
function endRequest(sender, args) {
window.scrollTo(0, 0);
}
Jak widać pobierana jest referencja na RequestManager, do której dodajemy „delegata” naszej funkcji JS.
Proste i szybkie ;-) Co ciekawe, w VS2008 Intellisense ujawnia jeszcze kilka ciekawych możliwości:
Generalnie pierwszy raz miałem do czynienia z UpdatePanelami. Interesująca sprawa dla kogoś, kto (jak ja) ma dwie lewe ręce do JS, jednak, żeby cokolwiek zrobić i mieć pewność, że działa tak jak chcemy… Przygotujcie się na długie lektury internetowych tutoriali. Może skrobnę coś w najbliższym czasie o UpdatePanelu – po tym jak sam się podszkolę ;-)
Nie znaleziono podobnych wpisów.
Możesz śledzić odpowiedzi do tego wpisu za pomocą RSS 2.0 feed. Możesz leave a response, or trackback z Twojej własne strony.






“Go to top” po asynchronicznym postbacku w UpdatePanelu…
Dziękujemy za publikację – Trackback z dotnetomaniak.pl…