Mémoriser l'état d'un gridview [Résolu]

Messages postés
8
Date d'inscription
vendredi 29 juin 2007
Dernière intervention
1 juillet 2008
- 19 juin 2008 à 23:02 - Dernière réponse :
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Dernière intervention
21 juillet 2010
- 23 juin 2008 à 18:34
Bonjour,

j'aurai aimé savoir, s'il était possible de garder en mémoire l'état d'un gridview.
En fait, les utilisateurs effectuent une recherche sur une page, ensuite un gridview apparait donc selon la recherche effectuée.
Ensuite, des hyperlink dans le gridview me font basculer sur une autre page. Sur cette deuxième page, j'ai un bouton retour, mais le problème c'est que j'arrive bien à revenir sur la page précédente, mais le résultat de la recherche n'est plus là ...

Si quelqu'un à une idée ^^

Merci :)
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Dernière intervention
21 juillet 2010
- 20 juin 2008 à 10:15
3
Merci
Bonjour,

Ce que tu récupères, avec Request.UrlReferrer.ToString(), n'est que l'Url de ta page précédente.
D'autre part, le ViewState sert en principe pour les contrôles d'une même page.
En gros, puisque Request.UrlReferrer.ToString()="mapageprecedente.aspx", tu ne fais qu'appeler ta page précédente comme si tu avais un simple hyperlink.
Si, la page2 n'a rien à renvoyer à la page1 lors du retour et qu'il s'agit seulement d'afficher la même page1, pourquoi ne pas utiliser l'historique (comme si tu utilisais le bouton retour du navigateur) et donc faire :

?
L'état des contrôles de la page1 devraient se maintenir, non ?
Mais peut-être ta situation est-elle plus compliquée ?

GGtry

Merci ggtry 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de ggtry
Meilleure réponse
Messages postés
8
Date d'inscription
vendredi 29 juin 2007
Dernière intervention
1 juillet 2008
- 20 juin 2008 à 10:31
3
Merci
Merci beaucoup ça fonctionne très bien :)

J'ai mis un petit bout de code javascript :

<script language="JavaScript">
    function functionGoBack()
    {
        history.back(1);
     }
</script>

Merci sofuzion 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de sofuzion
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Dernière intervention
21 juillet 2010
- 20 juin 2008 à 00:22
0
Merci
Bonjour,

Comment fonctionne ton bouton retour ?
Est-il du type :
?
Commenter la réponse de ggtry
Messages postés
8
Date d'inscription
vendredi 29 juin 2007
Dernière intervention
1 juillet 2008
- 20 juin 2008 à 08:49
0
Merci
Dans mon page load, je mémorise la page précédente  à l'aide de  :
ViewState["UrlReferent"] = Request.UrlReferrer.ToString();

    protected void btnRetourGeneral_Click( object sender, EventArgs e )
    {
        this.Response.Redirect((String)ViewState["UrlReferent"]);
    }

L'évènement déclenché par mon bouton, me renvoi bien sur la page précédente, mais sans garder l'état du gridview (après la recheche effectuée par l'utilisateur)
Commenter la réponse de sofuzion
Messages postés
8
Date d'inscription
vendredi 29 juin 2007
Dernière intervention
1 juillet 2008
- 23 juin 2008 à 17:09
0
Merci
J'aurai aimé utiliser cette fonction de javascript avec un asp button
c'est à dire :

C'est mon bouton, et j'aurai aimé lui mettre OnClick="functionGoBack()" pour faire appel à cette fonction :

<script language="JavaScript">
    function functionGoBack()
    {
        history.back(1);
     }
</script>

Mais ça ne passe pas ...
Quelqu'un aurait une idée ??
Merci ^^
Commenter la réponse de sofuzion
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Dernière intervention
21 juillet 2010
- 23 juin 2008 à 18:34
0
Merci
Bonjour,

Un bouton asp est fait pour déclencher le postback.
Même s'il est parfois utile d'empêcher le postback après une fonction javascript, ce n'est pas utile dans ton cas, puisqu'un simple button html suffit.
Pour répondre néanmoins plus précisément à ta question, quand tu veux appeler une fonction javascript avec un button asp, il ne faut pas utiliser onclick qui sert côté serveur, mais onclientclick, qui sert côté client.
Seulement, dans ton cas, le retour à la page précédent déclenché par le javascript sera annulé avec le postback.
Tu peux certes annuler le postback en écrivant dans l'appel de ta fonction javascript quelque chose comme onclientclick="mafonction(); return false;". Mais encore une fois, il vaut mieux ici mettre un bouton html, qui ne déclenchera pas de postback, et l'événement onclick...

GGtry
Commenter la réponse de ggtry

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.