2010-10-18 4 views
0

J'ai une situation particulière à portée de main où je dois valider une paire de dates dans un app.This web ASP.Net comment ma page ressemble à:Comment valider après un certain nombre de publications

I avoir un champ "De Date" qui consiste en un ensemble de trois listes déroulantes (pour Année, Mois et Date) J'ai un champ "À Date" qui comprend également un ensemble de trois listes déroulantes (Année, Mois et Date). Il y a un bouton «Télécharger le rapport» sur l'écran (qui permet à un utilisateur de télécharger un rapport pour la plage de dates spécifiée)

Ces six listes déroulantes sont enveloppées dans un contrôle utilisateur.

Maintenant, toutes les 6 listes déroulantes ont une valeur "Veuillez sélectionner" par défaut. Lorsqu'un utilisateur atterrit sur la page pour la première fois, toutes les listes déroulantes sont définies sur "Veuillez sélectionner". Le bouton "Télécharger" est activé uniquement après la sélection des dates "De" et "A".

Maintenant, mon exigence est que:

Lorsqu'un utilisateur accède à la page pour la première fois, aucune tentative de valider les dates devraient être jusqu'à ce qu'il sélectionne tous les 6 DropDownLists au moins une fois. Lorsque la 6ème liste déroulante est sélectionnée, les dates De et A doivent être validées. Une fois qu'un utilisateur a sélectionné les 6 listes déroulantes une fois, par la suite sur chaque publication de liste déroulante, les dates doivent être validées.

Mon problème:

Quelle est la meilleure façon de suivre ces 6 postbacks distinctes (pour chacune des listes déroulantes) avant de commencer à valider et à partir de dates. Je pourrais maintenir un ViewState flagin .. mais est-il un meilleur moyen?

Merci d'avance!

Répondre

1

Je ne crois pas que vous devriez penser à ces publications distinctes. Il est probable que l'utilisateur puisse sélectionner une valeur dans l'une des listes déroulantes, puis la redéfinir sur "Veuillez sélectionner"; De cette façon, il pourrait y avoir beaucoup de publications avant qu'une valeur valide soit sélectionnée. Par ailleurs, la mention distincte ne signifie pas que ce sera un processus ordonné, ToDate peut être sélectionné avant FromDate. Donc, je suggère que vous - avant de valider la date - vous assurez que toutes les listes déroulantes ont une valeur sélectionnée et seulement si c'est le cas, passez au niveau de validation suivant (par exemple pour vous assurer que le 30 février n'est pas sélectionné) .

Personnellement, je n'utiliserais pas le ViewState, et en fait les formulaires Web d'ailleurs - mais ce n'est pas pertinent à votre question ...

Questions connexes