在 ASP.Net MVC 中,有什么方法可以将以下代码压缩为单个 foreach 循环吗?
<table class="table">
<tr>
<td>
Name
</td>
<%
foreach (var item in Model)
{
%>
<td>
<%= item.Name %>
</td>
<%
}
%>
</tr>
<tr>
<td>
Item
</td>
<%
foreach (var item in Model)
{
%>
<td>
<%= item.Company %>
</td>
<%
}
%>
</tr>
</table>
其中模型是IEnumerable<SomeObject>
:
public class SomeObject
{
public virtual Name {get;set;}
public virtual Company {get;set;}
}
这将输出一个表格,如下所示:
Name | Bob | Sam | Bill | Steve |
Company | Builder | Fireman | MS | Apple |
我知道我可能可以使用扩展方法来写出每一行,但是是否可以使用模型上的单次迭代来构建所有行?
这是此的后续question https://stackoverflow.com/questions/3006082/how-do-i-make-a-table-from-a-list-mvc/3006133因为我对我接受的答案不满意,并且不敢相信我已经提供了最好的解决方案。
如果您不限于使用纯表,那么这对您有用。
<table class="table">
<tr>
<th>
Name<br/>
Item<br/>
</th>
<%
foreach (var item in Model)
{
%>
<td>
<%= Html.Encode(item.Name) %><br/>
<%= Html.Encode(item.company) %><br/>
</td>
<%
}
%>
</tr>
</table>
您绝对可以通过使用 span 和 css 样式来改进这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)