Bonjour à tous.

Je voudrais utiliser le ViewState mais je crois que j'ai du louper un épisode en lisant la MSDN.

Alors voilà, j'ai une page avec deux ASCX dedans. L'un est un formulaire de recherche, l'autre contient un GridView qui va se nourrir d'une requête.

Sur le click du bouton du formulaire je fais ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
ViewState("rq") = "EXEC dbo.IMMO_SelectionBienRecherche " & ddlTypeBien.SelectedValue & ", " & ddlTypeTransac.SelectedValue & ", " & PrixMini & ", " & PrixMaxi & ", " & PieceMini & ", " & PieceMaxi & ", " & dacVille.IdVille
        Response.Redirect(GetPage("Accueil", enTypeRetour.Lien))
En gros, je fabrique ma requête SQL de toute pièce et je redirige vers la page qui contient le Composant ASCX du GridView. Dans le cas présent il se trouve que c'est la même page, mais cela ne sera pas toujours le cas.

Et dans le composant ASCX qui contient le GridView je fais ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
With sdsListeBien
            .SelectCommandType = SqlDataSourceCommandType.Text
            If ViewState("rq") <> "" Then
                .SelectCommand = ViewState("rq")
            Else
                .SelectCommand = "EXEC dbo.IMMO_SelectionBienDefault"
            End If
        End With
J'ai une Procédure Stockée qui me remonte les 10 biens les plus récents par défaut (quand on arrive sur le page d'accueil par exemple) sinon, on prend les critères envoyés précédement et on envoi la requete fabriquée pour renvoyer les biens selon les critères.

Sauf que dans mon cas, j'ai du louper un truc car je n'ai jamais de retour de la requête.

Pouvez vous m'aider ?