Comment afficher un UpdatePanel en haut de l'écran ?

Traitée Comment afficher un UpdatePanel en haut de l'écran ?

  • vendredi 1 juin 2012 15:33
     
     

    Bonjour.

    Ma WebForm contient un Panel de hauteur variable (selon le contexte), suivi d'un UpdatePanel. Lorsque l'utilisateur clique sur un élément du Panel, ceci déclenche une mise à jour de l'UpdatePanel. Si le panel est plus grand que la fenêtre, l'UpdatePanel s'affiche bien derrière lui, mais n'apparaît pas à l'écran tant que l'utilisateur n'a pas descendu l'ascenseur.

    Comment puis-je forcer le navigateur à descendre l'ascenseur pour que l'UpdatePanel apparaisse, de préférence en haut de l'écran ?

    Merci d'avance,

    Gilbert

Toutes les réponses

  • samedi 2 juin 2012 09:05
    Modérateur
     
     Traitée

    Bonjour,

    Utilisez la fonction scrollTop() de jQuery (http://api.jquery.com/scrollTop/).

    Cette fonction doit-être appellé la requête Ajax sur le UpdatePanel. Pour cela suivez la procédure suivante : http://zeemalik.wordpress.com/2007/11/27/how-to-call-client-side-javascript-function-after-an-updatepanel-asychronous-ajax-request-is-over/

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

  • mercredi 6 juin 2012 16:33
     
     

    Bonjour Gilles.

    Merci pour ta réponse. Cependant elle ne me convient pas trop, pour deux raisons :

    1. Il faut utiliser jQuery, que je ne connais pas (mais bon, ce serait l'occasion d'apprendre...)
    2. Il faut ajouter un attribut onLoad à la balise BODY. Mais j'en ai déjà un, spécifié par la page maître, et je ne vois pas comment une page fille pourrait l'enrichir.

    Je cherche donc plutôt du côté des scrollHeight et offsetTop, mais ce n'est pas très clair.

    Cordialement,

    Gilbert

  • mercredi 6 juin 2012 20:40
    Modérateur
     
     

    Bonjour,

    Vous devriez utiliser jQuery, car cela répond parfaitement à votre problème. Cette bibliothèque permet aussi à plusieurs fonctions JavaScript de se brancher sur un événements JavaScript (onLoad).

    jQuery est simple d'utilisation, jetter un coup d'oeil sur les tutoriels.

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0