2009-08-04 8 views
5

J'ai un formulaire asp.net utilisé pour la recherche. Le résultat de la recherche s'affiche sur la même page en utilisant Ajax. Si je navigue vers une autre page et que je reviens, j'obtiens le formulaire rempli mais le résultat de la recherche est vide. Quelle est la meilleure façon de revenir à la page et d'avoir le résultat rempli.Retour fonctionnalité de bouton à la page Web avec formulaire et résultat de la recherche + Ajax (ASP.NET)

Ou comment forcer la page à publier pour repeupler la page avec les résultats lorsque vous cliquez sur le bouton Précédent?

Répondre

8

Vous pouvez le faire en utilisant la propriété EnableHistory sur le ScriptManager. Une fois que vous avez défini la propriété EnableHistory de ScriptManager sur True, vous pouvez utiliser la méthode AddHistoryPoint pour définir des points d'historique dans votre page.

<asp:ScriptManager runat="server" ID="MyScriptManager" EnableHistory="True"> 
</asp:ScriptManager> 

Dino Esposito a une bonne paire d'articles here (client-side) et here (server-side) sur l'utilisation de la fonctionnalité d'historique des ScriptManager.

0

Afin de conserver les données antérieures sélectionnées sur la page l'utilisateur doit ajouter le code ci-dessous:

Response.Cache.SetCacheability(HttpCacheability.NoCache) 

dans l'événement Page_load de la page. Ainsi, lorsque l'utilisateur clique sur le bouton de retour du navigateur, le débogueur accède à l'événement de chargement de page de la page et l'utilisateur peut stocker les valeurs dans la variable de session (critères de recherche antérieurs) et charger le Gridview les contrôles du serveur.