begin process at 2008 08 28 06:53:16
1 232 932 membres
52 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Mémoriser l'état d'un gridview [ WebForms / UserControl ] (sofuzion)

Mémoriser l'état d'un gridview le 19/06/2008 23:02:02

sofuzion
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 :)

Re : Mémoriser l'état d'un gridview le 20/06/2008 00:22:59

ggtry
Bonjour,

Comment fonctionne ton bouton retour ?
Est-il du type :
<input id="Button1" onclick="history.go(-1)"> ?


Re : Mémoriser l'état d'un gridview le 20/06/2008 08:49:58

sofuzion
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)

Re : Mémoriser l'état d'un gridview le 20/06/2008 10:15:50

ggtry
Réponse acceptée !
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 :
<input id="Button1" onclick="history.go(-1)">
?
L'état des contrôles de la page1 devraient se maintenir, non ?
Mais peut-être ta situation est-elle plus compliquée ?


GGtry

Re : Mémoriser l'état d'un gridview le 20/06/2008 10:31:59

sofuzion
Réponse acceptée !
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>
<input type="button" value="Retour" onclick="functionGoBack();" />




Re : Mémoriser l'état d'un gridview le 23/06/2008 17:09:11

sofuzion
J'aurai aimé utiliser cette fonction de javascript avec un asp button
c'est à dire :

<asp:Button ID="btnRetourGeneral" runat="server" Text="Retour" Width="80px" />
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 ^^



Re : Mémoriser l'état d'un gridview le 23/06/2008 18:34:16

ggtry
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


Classé sous : page, recherche, gridview, état, mémoriser

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS