Ich habe einige Probleme mit asp.net und Update-Panel. Das Problem ist, dass jedes Mal, wenn ein partielles Postback vom Update-Panel kommt, die Seite zurück nach oben gescrollt wird. Auf den meisten meiner Seiten ist das nicht so ein großes Problem, aber auf einigen Seiten kann es ziemlich lang werden. Wenn sich der Benutzer am Ende der Seite befindet, zeige ich das jQuery-Popup mit RadListView
an, und der Benutzer kann das Element in dieser Liste auswählen. Wenn Sie jedoch auf dieses Element klicken, springt das Postback teilweise zurück und die Seite springt zurück nach oben.
Ich habe über das Internet gesucht und konnte keine Lösung für mein Problem finden. Natürlich macht MaintainScrollPositionOnPostback
nichts.
Weiß jemand etwas, das mir helfen könnte, mit diesem Problem umzugehen?
Prost, Pako
Es gibt eine kleine Problemumgehung dafür, die ich vor langer Zeit in einem ERP verwendet habe. Nicht sicher, ob es die beste Lösung ist, aber es funktioniert.
Ich weiß nicht, ob Sie eine benutzerdefinierte Page-Klasse oder die standardmäßige System.Web.UI.Page
one verwenden, aber ich werde versuchen, Ihnen zu erklären, wie Sie es tun, und dann finden Sie heraus, wie Sie es am besten implementieren können in deiner Umgebung, in Ordnung?
Sie erstellen zum Beispiel ein HiddenField
mit der ID "hfScrollPosition".
Dann machst du ein JavaScript-Ereignis: document.onscroll
oder etwas Ähnliches, und innerhalb des Ereignisses aktualisierst du das versteckte Feld, um die aktuelle Bildlaufposition zu erhalten. Beispielsweise:
document.getElementById("hfScrollPosition").value = document.documentElement.scrollTop;
Damit haben Sie ein ASP.NET-Steuerelement, das seinen Wert entsprechend der Position des Bildlaufs dynamisch aktualisiert. Wenn also ein Steuerelement auf Ihrer Seite ein Postback erstellt, können Sie den folgenden JavaScript-Code in Ihr Page_Load-Ereignis einfügen:
document.documentElement.scrollTop = document.getElementById("hfScrollPosition").value;
Jedes Mal, wenn Ihre Seite ein Postback erhält, wird die Bildlaufposition korrekt aktualisiert.
BEARBEITEN : Ich habe eine Fiedel gemacht, um es zu simulieren: Ссылка
Tags und Links javascript .net asp.net ajax updatepanel