Je me demande quel est le meilleur moyen de transmettre beaucoup de valeurs entre plusieurs pages. Je pensais soit enregistrer les valeurs dans une base de données, en utilisant context.Items [], ou Session []. Je ne suis pas sûr de la meilleure méthode. Je passe probablement environ 40 variables. Ce sera lors d'un processus de paiement, donc ils devraient être persistés tout au long du cycle de vie des utilisateurs. L'utilisateur ne modifie pas les valeurs après leur première saisie. Les valeurs seraient comme adresse de facturation, prénom et nom, etcPasser des données entre les pages asp.net
Répondre
La session est probablement la plus efficace. Toutefois, si la session expire ou est perdue pour toute autre raison, les entrées sont perdues. Donc, si la persistance est plus importante, vous voudrez peut-être la stocker dans la base de données.
Peut-être Cross-Page Posting option? Une autre option peut être la méthode Server.Transfer
avec la propriété Context.Items
ou Form
.
Dans ce cas, les variables de formulaire et les paramètres de chaîne de requête affichés sont disponibles pour le second/troisième/etc. page aussi.
Mais l'URL dans le navigateur ne sera pas modifiée tant que vous n'avez pas vraiment transféré vers une autre page.
Une chose à prendre en compte est que si la première page a écrit quelque chose dans la mémoire tampon de réponse et vous ne désactivez , alors une sortie de la deuxième page sera ajouté à la sortie le premier. C'est souvent la cause de ce comportement bizarre où il semble qu'une page renvoie deux pages différentes. En outre, puisque le transfert se produit sur le serveur , vous ne pouvez pas transférer une demande vers un site externe.
Plus d'informations peuvent être trouvées here.
Je viens d'éditer la question. Les valeurs doivent passer par plusieurs pages – user204588
Le passage des valeurs via les variables de session ne fonctionne pas très bien. Vous pouvez également avoir des chances que l'utilisateur clique sur le bouton de retour ou que les clics se rafraîchissent et que les variables de session aient été récupérées. C'est le moyen pour tous les objets mis en cache. Un moyen de contourner cela est lorsque l'utilisateur va à la deuxième page, vous prenez toutes les variables et les placez dans un champ caché quelque part séparé par une paire Key: Value.
Si les valeurs peuvent mettre mis à l'air libre, pourquoi ne pas simplement les mettre dans l'URL?
Si vous ne pouvez pas faire, puis les mettre dans une base de données et leur donner un ID Guid par le nom d'utilisateur, ce serait la dernière alternative pour moi puisque vous devez à la fois lire et écrire sur la DB demande.
La réponse dépend entièrement de ce que l'utilisateur attend la prochaine fois qu'il revient sur votre site. Est-ce qu'il s'attend à ce que vous vous souveniez des informations de contact qu'il a déjà saisies? Si oui, vous devrez utiliser la persistance à long terme dans une base de données, un cookie, etc. Votre utilisateur entre-t-il les informations de quelqu'un d'autre pour cette visite (application de service client) et entrera des informations différentes la prochaine fois ils visitent? Si c'est le cas, vous pouvez utiliser l'objet Session.
Oui, c'est ce que je pensais. Il n'y a vraiment aucune raison de sauvegarder l'information dans une base de données. Les variables sont utilisées pour une demande XML et ils peuvent changer leurs informations de facturation sur la prochaine demande, donc je pense que la session est la voie à suivre – user204588
- 1. PHP passer des messages entre les pages
- 2. Comment faire passer des données entre des pages sans sessions dans ASP.net MVC
- 3. PHP: Passer des variables non-formulaire entre les pages?
- 4. stratégie pour passer des entités nhibernate entre les pages
- 5. Passer des informations entre les fenêtres ASP.net
- 6. Passer des données pour voir Maître Pages
- 7. JSP - Passer des paramètres entre des pages JSP
- 8. Passer les données entre les composants flex
- 9. Comment passer des valeurs entre des pages asp.net avec des vues en grille
- 10. Communication entre les pages
- 11. Passer des données entre les vues et les contrôleurs
- 12. données entre les pages: $ _SESSION vs $ _GET?
- 13. Passer un grand tableau entre les pages en PHP
- 14. Comment transmettre des données avec '&' entre les pages Web
- 15. Comment: transmettre des valeurs sensibles entre des pages Web ASP.NET?
- 16. Alternative aux chaînes de requête pour transmettre des données entre des pages ASP.Net?
- 17. Passer des paramètres entre JSPs
- 18. Comment faire passer les données stockées dans le tableau entre les pages de test dans fitnesse
- 19. Passer des données entre les contrôleurs avec la session RESTfully
- 20. Quelles sont les options pour je dois passer une valeur entre deux pages asp.net
- 21. passer des valeurs aux pages
- 22. Passer des informations entre les vues
- 23. C# passer des messages entre les classes
- 24. Transfert de données entre pages JSF dans des projets distincts
- 25. Sessionstate n'étant pas enregistré entre les pages
- 26. Passer des données entre des blocs en utilisant sinatra
- 27. Meilleur "processus" pour passer des pages HTML simples aux pages ASP.NET aspx?
- 28. Passer des valeurs entre les contrôles utilisateur Web
- 29. Données de session perdues entre les pages PHP?
- 30. Division des données en pages
Eh bien, context.Items ne fonctionnerait pas parce qu'il est jeté entre les demandes. – tloflin
Je pensais que les éléments context.items étaient persistés si vous utilisiez Server.Transfer()? Les valeurs passent-elles d'une page à une autre ou sont-elles persistantes tout au long du cycle de vie d'un utilisateur? L'utilisateur doit-il intercepter et modifier les valeurs? – bryanjonker
Ce sera au cours d'un processus de paiement, donc ils devraient être conservés tout au long du cycle de vie des utilisateurs. L'utilisateur ne modifie pas les valeurs après leur première saisie. Les valeurs seraient comme l'adresse de facturation, le prénom et le nom, etc. – user204588