2009-03-25 6 views
1

J'ai une application web ASP.NET (2.0, C#), et je voulais savoir comment afficher toutes les erreurs générales qui pourraient survenir sur la page maître en utilisant des divs.Utilisation de divs pour afficher les erreurs

Par exemple, s'il y a une page « Ajouter un nouvel utilisateur », tous les champs qui avaient des problèmes seront affichés quelque chose comme ceci:
L'erreur suivante (s) Occured:

  1. ...
  2. ...

J'utilise une page maître, donc je voulais savoir comment je pouvais utiliser un div là, avec une étiquette peut-être, pour afficher les erreurs de l'une des pages de contenu.

Merci.

Répondre

5

Je recommande d'utiliser un panneau.

<asp:Panel runat="server" id="pnlErrors" Visible="false"> 
The following Errors(s) Occurred: 
<asp:BulletedList id="lstErrors" runat="server"> 
</asp:BulletedList> 
</asp:Panel> 

Ensuite, il suffit d'ajouter les erreurs lstErrors programme si elles se produisent et définir la visibilité sur true.

EDIT: Initialement, je n'avais pas lu la partie concernant la page maître. Un problème que vous allez probablement rencontrer est de trouver ce contrôle à partir de votre page de contenu. Voici une façon que vous pouvez le faire:

BulletedList lstReference = (BulletedList) this.Master.FindControl("lstErrors"); 
lstReference.Items.Add("Error occured contacting database."); 
lstReference.Items.Add("Error occured processing payment."); 

Panel panReference = (Panel) this.Master.FindControl("pnlErrors"); 
panReference.Visible = true; 
0

Si vous utilisez la commande intégré ValidationSummary, vous ne devez pas faire autre chose que de mettre sur la page principale:

<div class="error"> 
    <asp:ValidationSummary ID="vldSummaryMaster" runat="server" /> 
</div> 

Cette bien sûr, suppose que vous utilisez les contrôles de validation intégrés afin de capturer les erreurs.

Questions connexes