[ASP .NET] Retour à l'endroit de la page où on était après un postback

Retour à l'endroit de la page où on était après un postback [ASP .NET] - C#/.NET managed - Programmation

Marsh Posté le 05-12-2006 à 11:37:49    

Bonjour,
En asp 1.0 est-il possible d'eviter de revenir en haut de la page après un postback ?
 
Sur ce sujet 98663, on propose d'utiliser la propriété .focus d'une textbox, cependant je n'ai pas cette propriété (certainement liée à ASP 2.0 ?).
 
Le postback est porvoqué lorsque l'utilisateur agit sur un control imageButton dans un datagrid...
 
Comment faire pour que la page revienne à la hauteur de l'imageButton Cliqué ?
 
Alexandre.

Reply

Marsh Posté le 05-12-2006 à 11:37:49   

Reply

Marsh Posté le 05-12-2006 à 11:43:11    

Leaky abstraction...
 
C'est quand-même de l'HTML de base ça, ça n'a pas grand chose à voir avec ASP... Suffit de rajouter un fragment identifier correspondant à l'id du form dans son action

Reply

Marsh Posté le 05-12-2006 à 12:56:27    

Merci pour l'info du fragement identifier, je n'imaginais pas que cela puisse marcher avec un ID, d'autant plus en provenance d'un datagrid.. mais en raisonnant uniquement en HTML, c'est logique étant donné qu'il ny a pas de différence entre un input dans le datagrid et hors du datagrid. Ils ont tout les deux un ID unique...
 
Pour la leaky abstraction t'as pas tord...

Reply

Marsh Posté le 03-01-2007 à 16:20:01    

Dans ton PageLoad, ajoute le code suivant :

Code :
  1. Page.MaintainScrollPositionOnPostBack = true;


 
Mais ça ne marche qu'en ASP.NET 2.

Reply

Marsh Posté le 04-01-2007 à 15:43:03    

J'ai testé, pour l'etat de l'art, bien que tu m'avais prévenu que ca ne marchait qu'en asp 2.0.

Code :
  1. 'MaintainScrollPositionOnPostBack' n'est pas un membre de 'System.Web.UI.Page'


Mais je m'en était sorti avec les fragment identifier donc tout va bien ;)

Reply

Marsh Posté le 09-01-2007 à 11:18:02    

FlorentG a écrit :

Leaky abstraction...
 
C'est quand-même de l'HTML de base ça, ça n'a pas grand chose à voir avec ASP... Suffit de rajouter un fragment identifier correspondant à l'id du form dans son action


 
heu je suis un peu perdu dans ce jargon ca veut dire quoi au juste?

Reply

Marsh Posté le 09-01-2007 à 11:24:14    

dapoussin a écrit :

Dans ton PageLoad, ajoute le code suivant :

Code :
  1. Page.MaintainScrollPositionOnPostBack = true;


 
Mais ça ne marche qu'en ASP.NET 2.


 
Pkoi c ane marche pas chez moi non plus?

Reply

Marsh Posté le 09-01-2007 à 11:30:40    

Parce que tu es en 1.1?

Reply

Marsh Posté le 09-01-2007 à 11:34:33    

minimoke a écrit :

heu je suis un peu perdu dans ce jargon ca veut dire quoi au juste?


C'est-à-dire que si ton form a un id :

Code :
  1. <form id="pouet" ...>


 
Suffit de mettre dans l'action son id dans le fragment identifier :

Code :
  1. <form id="pouet" action="tagada.asp#pouet">

Reply

Marsh Posté le 09-01-2007 à 14:58:40    

Pablo Escrobarbe a écrit :

Parce que tu es en 1.1?


et comment on fait en 1.1???
j'ai tester les form id mais ca ne marche pas dans mon cas.


---------------
  ____
Reply

Marsh Posté le 09-01-2007 à 14:58:40   

Reply

Marsh Posté le 09-01-2007 à 15:51:31    

La methode avec les ancres ne dépend pas de la version d'ASP. Donc ca marchera pour toi aussi malgrès ce que tu sembles dire.
 
Par exemple essaies d'ajouter #NomDuID dans la barre d'adresse de ton navigateur (où NomDuID est l'id du control sur lequel tu veux te positionner). Donc ensuite il te reste à utiliser cette methode en fonction de ce que tu veux faire, avec du javascript par exemple :  
 

Code :
  1. window.location.href=window.location.href+'#NomDuID';

Reply

Marsh Posté le 09-01-2007 à 16:00:00    

Ok.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed