2010-06-10 3 views
1

Je souhaite créer un rapport d'erreurs convivial. Mauvaise entrée, erreurs de connexion db et autres. Le problème est que j'ai besoin de mettre en œuvre le même module pour 3 systèmes différents et d'utiliser les boîtes modales de l'interface utilisateur jQuery pour l'interface utilisateur.Rapport d'erreurs d'utilisateur dans ASP.NET

  1. lorsque je redirige vers une autre page ie. Erreur de connexion db i rediriger vers page d'erreur
  2. lorsque j'utilise retourner à la même page ie. valeur d'entrée 1 plus grande que la valeur 2 quand il devrait être INVERSE
  3. erreurs ASP.NET Ajax UpdatePanel, erreur de saisie pour les contrôles dans UpdatePanel qui ne font pas réguliers postpacks.

Merci pour toute aide à la mise en œuvre ...

Pour préciser ma question

Je ne cadre pas besoin de validation d'entrée ou d'un objet. J'utilise ASP.NET et ma propre logique métier pour valider côté client et serveur.

ce que je vraiment besoin est

Aide à la construction d'une classe qui montrera des erreurs pour les utilisateurs, le processus en cours est i surprends exception, la valeur d'entrée incorrecte ou mauvaise lien et basé sur cet utilisateur show message amical. Je n'ai pas le temps et l'intérêt d'apprendre le framework de journalisation car ma courte expérience pour configurer n'importe quel framework de haut niveau (ASP.NET) est plus difficile que d'avoir votre propre logique métier et nécessite parfois une re-conception d'applications ... de toute façon ... Ma question est assez claire ci-dessus. J'ai besoin de montrer des messages centralisés en utilisant l'interface utilisateur jQuery. Lorsque je redirige vers une autre page, je peux enregistrer une erreur dans Session et l'obtenir sur une autre page, si j'utilise retourner à la même page je ne peux pas utiliser Session et n'ai pas de chance de surcharger les variables publiques MasterPage. Quand j'ai Ajax UpdatePanel je veux à nouveau pour valider les données et montrer modale jQuery UI ...

c'est tout

Répondre

0

Une autre tactique serait d'effectuer une certaine validation sur le client et puisque vous utilisez jQuery il y a un joli plugin de validation de formulaire appelé Validation. Voici un good demo page. Cela vous empêchera de publier sur le serveur jusqu'à ce que vous ayez les types de données appropriés fournis pour vous et fonctionnera également avec vos panneaux de mise à jour Ajax.

Avec ce plugin votre marque HTML up est assez simple:

<form id="theForm"> 
    <input id="startDate" type="input" class="required datetime"/> 
</form> 

Cela permettra d'éliminer la nécessité de diriger vers Error.aspx, les variables de session magasin, etc.

Pour les erreurs qui se produisent Sur le serveur, vous devez déterminer si l'utilisateur doit pouvoir continuer à progresser si une erreur DBConnection est générée. Dans ce cas, vous pouvez rediriger vers votre page d'erreur, injecter votre texte d'erreur et demander au client d'afficher le contenu dans la boîte de dialogue jQuery.

0

Edit: Vous connectez des exceptions à une base de données? Sinon, je recommanderais au moins un journal rudimentaire. D'autres alternatives consisteraient à se connecter à un programme d'ajout de fichiers à l'aide de log4net. Ensuite, vous pouvez charger l'erreur appropriée à partir des journaux pour l'affichage à l'utilisateur, indépendamment de comment et où vous affichez l'erreur.

Voir log4net

En outre, une non mise en garde: Ne pas afficher les erreurs de connexion DB aux utilisateurs. Consignez-les pour que vous sachiez ce qui se passe et signalez simplement à l'utilisateur qu'une erreur s'est produite et que vous en êtes conscient et que vous l'examinez.

Fin Modifier

Une bonne façon de valider l'entrée est de mettre la validation de vos classes de données. Cela vous permet de les valider à tout moment. Je sais que cela ne résout pas votre scénario de redirection qui est plus un problème de flux de travail et j'espère que d'autres peuvent vous aider avec cela.La raison pour laquelle j'ai mentionné mettre la validation d'entrée sur vos classes de données est qu'elle vous permet un contrôle total sur quand votre validation est appelée et elle vous permet de valider plusieurs fois, du côté client et du côté du serveur par exemple.

Une bonne implémentation de ceci est le framework FluentValidation, qui peut être étendu pour générer automatiquement la validation côté client, en utilisant le plugin JQuery Validation.

Une autre option qui devient populaire est celle des annotations de données. Je n'ai pas encore d'expérience avec ceux-ci, mais ils méritent d'être recherchés avec votre moteur de recherche préféré.

+0

Je m'intéresse plus à la façon d'implémenter la messagerie d'utilisateur centralisée, tandis que sur la redirection de retour, de retour et ajax plutôt que de cadre pour tester les valeurs elles-mêmes. – eugeneK