MVC模式:显示元素数组的最佳方法

| 假设我在
view
部分有这个div:
<div class=\'my class\'>
    <%=myVariableToPrint %>
</div>
那里没有问题:我只是从类/ bean(
model
)中获取数据并将其放在div上。 现在,假设myVariableToPrint是一个由10个字符串组成的数组,我需要将div打印10次,每个div用于数组中的每个字符串。我该怎么做? 将div放在模型上,例如:
myString+=\"<div class=\'my class\'>\"+myVariable[i]+\"</div>\" 
并在
view
部分打印
myString
很吵:) 有什么办法吗? P.s.我在这里谈论C#,但在Java ecc上应该一样     
已邀请:
        只需将ѭ6放入循环中
<% foreach (var item in myArray) { %>
    <div class=\'my class\'>
        <%= item %>
    </div>
<% } %> 
更新资料 好的,从您的评论看来,您不需要视图中的任何循环逻辑。真的,您不必为此担心。视图中包含这种东西。看起来可能有些混乱,但是通常这是正确的处理方式。仅将html放入模型中以便可以呈现它绝对不是一个好主意。请不要那样做。 另一种方法是使用自定义
Html.Helper
方法。您可以执行类似...的操作。
public static string DivList(this HtmlHelper helper, IList<string> list, string divClass)
{
    var sb = new StringBuilder();
    foreach(string item in list)
    {
        sb.AppendFormat(\"<div class=\\\"{0}\\\">{1}</div>\", divClass, item); 
    }     
    return sb.ToString();
}
您可以在视图中使用它,例如...
<%= Html.DivList(Model.MyList, \"myClass\") %>
整整齐齐。     
        您应该使用
foreach
循环对集合进行迭代,并将HTML放入循环中。 使用Razor(因为它更容易):
@foreach(string s in something {
    <div class=\"Something\">@s</div>
}
    
        将集合放入模型中。 该视图遍历集合以创建最终输出。     

要回复问题请先登录注册