ASP.NET : Comment puis-je maintenir des objets entre les publications?
Comment puis-je maintenir des objets entre ASP.NET les publications de la page dos ?
J'ai un ASP.NET la page web.lorsque je clique sur l'une asp.net bouton, je vais appeler ma fonction (Enregistrer ) qui va créer un objet de ma classe personnalisée (UserDetails classe) et d'enregistrer les détails de DB.c'est donc un message de retour.Après le post de retour à nouveau la même page sera affiché à l'utilisateur.À ce moment,je veux profiter de l'objet Utilisateur que j'ai créé dans la première fonction (Enregistrer ) . Quelle est la meilleure façon de le faire ? Je sais que je peux stocker ce dans une Session et d'accès. Mais je veux savoir whethere il y a une autre meilleure façon de faire ?
OriginalL'auteur Shyju | 2009-09-19
Vous devez vous connecter pour publier un commentaire.
L'approche que vous cherchez est une sorte de mécanisme de liaison de données qui lie les valeurs d'un objet (vous pouvez charger à partir de la db si elle existe déjà) à votre asp.net webform.
Fondamentalement, vous auriez les suivantes:
Page.IsPostback
et, dans l'affirmative, vous créez un nouvel objet et de le remplir avec les valeurs saisies par l'utilisateur.Ce serait semblable (je suis en train d'écrire de ma tête sans un compilateur, afin de prendre soin 🙂 )
Ce que je voulais ajouter hier, mais il a oublié depuis, je devais me dépêcher:
Vous pouvez ainsi stocker vos objets dans le ViewState de Session ou que d'autres ont décrit, mais j'ai connu qu'il devrait l'être aussi rares que possible, pour les raisons suivantes "inconvénients" (de mon point de vue):
L'avantage de la "liaison de données" approche que j'ai décrit, c'est que vous n'avez pas ces problèmes, avec le "désavantage" d'avoir un nouveau objet à chaque fois. Par conséquent, vous devez prendre soin de la manipulation de votre état de l'objet, c'est à dire manuellement en gardant id est grâce à des allers-retours etc..
OriginalL'auteur Juri
Une autre option serait de stocker l'objet dans le Cache à l'aide d'une clé unique (par exemple, "l'utilisateur" + id) et un seul magasin, c'est l'id de la session en cours ou dans le ViewState. Au cours d'une publication, vous pouvez ensuite récupérer l'objet à partir de la mémoire cache.
Avec cette approche, vous avez plusieurs avantages:
OriginalL'auteur M4N
Vous pouvez stocker l'objet dans l'état d'affichage, ce sera la page spécifique de stockage. L'objet sera alors sérialisé et injecté dans la page de viewstate, qui va rendre la page plus.
Par le stockage de l'objet en session, vous gardez la page plus petite, mais qui consomment de la mémoire du serveur de ressources.
Alternativement, vous pouvez lire l'objet à partir de la base de données à chaque fois. Cela aura l'avantage d'afficher à l'utilisateur exactement ce qui a été enregistré dans la base de données.
OriginalL'auteur
Dans l'INTERFACE utilisateur de Faire ce
En BL
Dans DAL
OriginalL'auteur Raghav