2010-03-15 3 views
0

J'ai un namelist arraylist dans mon modèle et à mon avis, je dois remplir le textarea avec les valeurs de la arraylistPopulate textarea du modèle arraylist

{%> 
    <%=Html.TextArea("Namelist",Html.Encode(namelist))%> 
<%} 

Mais i`m ayant ce qui suit dans mon textarea être dislpayed:

System.Collections.ArrayList... 

Comment résoudre ce problème?

Répondre

0

Html.Encode prend un seul paramètre String. En lui passant un ArrayList provoque l'invocation de la méthode ToString qui retourne le nom du type d'objet.

Vous devez parcourir la collection en créant la chaîne, puis la transmettre à Html.Encode.

Modifier avec exemple de code

<% 
    StringBuilder sb = new StringBuilder(); 
    foreach (string category in namelist) 
    { 
     sb.Append(category + "\n"); 
    } 
%> 
<%= Html.TextArea("Namelist", Html.Encode(sb.ToString())) %> 
+0

avec cela, j'ai un textarea pour chaque valeur dans la liste de noms, comment puis-je résoudre ce problème? <% foreach (catégorie de chaîne dans Model.namelist) {%> <% = Html.TextArea ("nom", Html.Encode (Model.namelist))%> <%}% > – learning

+0

Est-ce que vous voulez concaténer toutes les chaînes dans la liste et l'afficher dans une zone de texte? Ou voulez-vous afficher une zone de texte pour chaque chaîne? –

+0

concaténer toutes les chaînes et afficher dans une zone de texte, une chaîne par ligne – learning