2010-10-05 4 views
1

J'ai une interface graphique qui contient plusieurs composants (listes déroulantes, zones de texte, etc.) avec leurs libellés associés. Lorsque vous appuyez sur un bouton, la sélection dans chaque composant d'entrée est validée et, si elle contient une valeur non valide, la couleur de l'étiquette devient rouge et un message d'erreur s'affiche. Cela fonctionne bien seul.Mise à jour de l'interface utilisateur graphique avant la redirection

Le problème survient lorsque des valeurs non valides sont fournies, puis corrigées ultérieurement. Lorsque l'utilisateur appuie sur le bouton et que les entrées sont valides, je redirige la réponse vers un ASP à l'aide de Response.Redirect, qui exécute ensuite et ouvre un rapport PDF. Lorsque cela se produit, aucun code pour redéfinir les étiquettes à leur couleur d'origine ou pour supprimer le message d'erreur s'exécute. Si je change Response.Redirect() en Server.Transfer() et l'utilisateur revient, il retourne la page à son état d'origine (en supprimant les messages d'erreur), mais je veux conserver les données valides dans chaque composant.

Que puis-je faire pour supprimer les messages d'erreur lorsque l'utilisateur revient ou pour conserver l'entrée valide de l'utilisateur?

EDIT: La plupart des commandes sont des contrôles .NET non standard et je travaille avec VB.NET 2003.

+0

Qu'est-ce que vous utilisez pour la validation? Les contrôles de validation .NET standard doivent supprimer leurs messages lorsque l'entrée non valide est corrigée. –

+0

Je vérifie simplement la valeur du composant dans l'événement click du bouton et le réglage du message d'erreur dans une étiquette. – ofm

Répondre

0

Ce que vous avez besoin est un moyen d'enregistrer des données pendant la transition. Ainsi, la première fois que la validation est passée, stockez les valeurs dans les variables de session.

Session ("TextBox1Value") = 'Something1' 
Session ("ComboBoxValue") = 'Something2' 

Lorsque vous retour à la page tout ce que vous avez à faire est:

TextBox1.Text = Session("TextBox1Value") 

Cela vous aidera à préserver les valeurs aussi longtemps que le navigateur est ouvert sur plusieurs pages. Regardez le lien ci-dessous pour un exemple simple:

http://www.java2s.com/Code/ASP/Session-Cookie/UsesessionvariablesVBnet.htm

Questions connexes