2010-06-27 8 views
2

Okay J'ai cherché et je n'arrive pas à trouver l'endroit où trouver la réponse à ma question.passer une liste à <% # Eval ("")%> en utilisant C#

Ce que je suis en train de faire est de tourner la liste de chaînes générique extraite d'une table sql comme ceci:

List<string> UserList = new List<string>() { "User One", "User Two" }; 

et en essayant de sortie à une page web.aspx en utilisant <% # Eval ("UserList"):

<asp:Label id="userList" text='<%# Eval("userList")%>' /> 

qui bien sûr me le donne ci-dessus 'System.Collections.Generic.List`1 [System.String]' à la suite.

Modifier
Ce que je cherche à faire est d'avoir la sortie UserList comme une liste d'utilisateurs qui ont travaillé sur une collaboration de l'image. La sortie finale doit ressembler à ceci:

<img src="picutre" /><br> 
<asp:label id="Artist1" text="Artist Name From Asp.net Membership Profile" /> 
<asp:label id="Artist2" text="Artist Name From Asp.net Membership Profile" /> 
+2

Et quel résultat vous désirez? –

+0

Je ne pense pas que le code ci-dessus va fonctionner, essayez de le convertir en chaîne en utilisant 'toString' – Xinus

Répondre

5

Vous pouvez essayer d'utiliser string.Join().

<asp:Label id="userList" 
      text='<%# string.Join(" ", ((List<string>)Eval("userList")).ToArray()) %>' 
+2

Si vous utilisez .NET 4, vous pouvez omettre l'appel 'ToArray' car il y a une surcharge' String.Join' qui prend un 'IEnumerable '. –

3

Il n'est pas clair ce que vous voulez obtenir comme résultat final. Si vous voulez afficher la liste CSV dans votre étiquette, vous pouvez utiliser la méthode String.Join():

http://msdn.microsoft.com/en-us/library/57a79xd0.aspx

comme ceci:

<%# String.Join(", ", ((List<String>)Eval("UserList")).ToArray()) %> 
Questions connexes