<% foreach (var item in Model.BillList)
                 { %>
              <tr bgcolor="#FFFFFF"> 
              <td bgcolor="#F7EEF7" height="25"><div align="center"><%=item.b_date.ToLongDateString() %></div></td>
              <% int i = 0; 
                 foreach (var type in Model.Show)
                 {
                   
                    i++;
                     %>
                <td bgcolor="#FFFFFF"><div align="center"><font color="#990099"><%=item.b_ + 变量i %></font></div></td>
                <%
                 } %>
                 </tr><%} %>
我这里是想得到这样一列,这里的列是由Model.Show来控制他的多少的:item.b_1、item.b_2、item.b_3、item.b_4  ........读出他们的数据
请问要怎么做啊?

解决方案 »

  1.   

    foreach (var type in Model.Show)
    {
     type//就是列
    }
      

  2.   

    我的数据是在item里,不是type里,type只是控制列的多少
      

  3.   

    那你考虑用list数组 或者datatablelist.item[type]这样dt.rows[i][type]
      

  4.   

    效果还是实现不了啊,datatable在view里无法使用
      

  5.   

    <%=item.b_ + 变量i %>这个思路太NX了。其实没必要搞得如此动态,非要这么写的话,试试这个:<%= DataBinder.Eval(item, "b_" + i) %>
      

  6.   

    [Quote=引用 7 楼 phil999 的回复:]
    <%=item.b_ + 变量i %>这个思路太NX了。汗,我知道那样不行,我只是举个例而已,表明要的效果,寻求实现方法,还有这是MVC2模式,不是WEBFORM
      

  7.   

    并不是我想要这么动态,而是项目所需要啊,以前用ASP时实现这效果超级简单,现在使用MVC咋这么麻烦,是MVC不成熟实现不了还是大家觉得太简单了不理睬我啊
      

  8.   

    再说详细点吧,我想要的是按类别分组来显示数据
    这是查询数据库的代码:
    strSql.Append("select a.b_date,b.b_body");
                    for (int n = 0; n < rowsCount; n++)
                    {
                        strSql.Append(",sum(case when b_tid=" + dt.Rows[n]["t_id"].ToString() + " then b_money end) as b_" + n );
                    }
                    
                    strSql.Append(" from billing_data as a left join billing_body as b on a.b_date=b.b_date ");
                    strSql.Append("group by a.b_date,b.b_body");
      

  9.   

    <%= DataBinder.Eval(item, "b_" + i) %>