2010-08-02 2 views
0

J'ai quelques linkbuttons pour mettre à jour ma gridview qui est au milieu de la page. Chaque fois que je clique sur Modifier ou Supprimer, la fenêtre défile en haut de la page qui est postée. Je veux qu'il reste concentré sur le grideview. J'ai essayé une fonction javascript mais pour une raison quelconque cela n'a pas fonctionné.asp: linkbutton (navigation vers une section de page spécifique à posteriori)

(edit: les ouvrages suivants dans la mesure du défilement est concerné, mais empêche postback)

voici ce que j'ai essayé

<script type="text/javascript" language="javascript"> 

    function goto() { 

     window.scrollTo(10, 1100); 

    } 

</script> 

<asp:LinkButton ID="lbtnGo" runat="server" OnClientClick="javascript:goto();return false;">GO</asp:LinkButton> 

source

Comment puis-je faire cela?

Répondre

1

Avez-vous essayé avec <%@ Page MaintainScrollPositionOnPostback="true" %> dans la déclaration de page?

Observe

+0

cela semble fonctionner mais je maintenant mon navigateur affiche un pop-up " pile débordement à la ligne 0 "chaque fois que je clique sur un lien. Le reste du code dans la page n'est pas le mien donc une autre fonction pourrait être en train de le faire monter? Je viens de remarquer qu'il ne va pas tout le chemin vers le haut sur la publication. – nooob

+0

Hummm, étrange, peut-être que vous pourriez voir dans les forums http://forums.asp.net/t/1536471.aspx et http://forums.asp.net/t/1373552.aspx – uvita

+0

une suggestion sur votre lien a travaillé : Page.SetFocus (myGridView); – nooob

0

L'événement côté client se déclenche avant le côté serveur. Donc, même si vous faites défiler la fenêtre pour corriger la position - après la publication, vous serez retourné au sommet. Vous pouvez ajouter le code suivant à votre côté serveur LinkButton cliquez sur Gestionnaire d'événements:

if (!this.IsStartupScriptRegistered("ScrollToGrid")) 
    { 
     String scriptString = "<script language=\"JavaScript\">"; 
     scriptString += "window.scrollTo(10, 1100);"; 
     scriptString += "</script>"; 
     this.RegisterStartupScript("ScrollToGrid", scriptString); 
    } 

cela va ajouter javascript bloc à votre page après la publication

+0

et je lie la fonction à linkbutton de la même manière? OnClientClick = "javascript: goto(); renvoie false; car cela ne semble pas fonctionner, donc j'ai dû manquer quelque chose Comment puis-je appeler la fonction après qu'elle a été enregistrée après la publication – nooob

Questions connexes