2009-11-27 4 views
7

J'ai un panneau d'erreur qui est inséré dans une page si une erreur se passe mal pour gérer et afficher les erreurs. Actuellement, j'ajoute juste les messages d'erreur à une chaîne et j'appuie cela sur une étiquette. Si vous avez plusieurs erreurs, cela devient salissant. Par conséquent, je voudrais pousser chaque erreur à un élément de liste dans une liste non ordonnée à puces.Comment générer dynamiquement des éléments de liste dans une liste non ordonnée dans ASP.NET?

Comment puis-je générer dynamiquement, à partir d'un fichier vbe codebehind, de nouveaux éléments de liste à l'intérieur d'un élément de liste non ordonné?

Répondre

14

Pourquoi ne pas utiliser un contrôle BulletedList? Ce contrôle rendra une liste non ordonnée au client.

<asp:BulletedList ID="BulletedList" runat="Server" BulletStyle="NotSet"> 
</asp:BulletedList> 

Vous pouvez ensuite ajouter des éléments de liste par programmation à partir du code comme ceci.

BulletedList.Items.Add("Item1"); 

Vous pouvez également y parvenir en ajoutant runat='server' pour référencer le côté serveur tag UL.

<ul id="uList" runat="server"> 
</ul> 

Puis dans le code utiliser derrière la propriété InnerHtml ajouter des balises à LI programme contenu dans la UL balises d'ouverture et de fermeture.

uList.InnerHtml += "<li>Item1</li>"; 
0

Vous pouvez utiliser une variable de niveau page pour contenir les erreurs, comme une liste ou un tableau. Ensuite, il suffit d'écrire une méthode qui fait quelque chose comme:

Private Sub WriteErrors() 
    lblErrors.txt = "<ul>" 
    For Each s as String in _myErrors 
    me.lblErrors.Text &= "<li>" & s & "</li>" 
    End For 
    lblErrors.Text &= "</ul>" 
End Sub 
Questions connexes