将foreach-loop转换为ford循环,用于Viewdata [“terr”],它是对象列表

时间:2013-03-09 07:16:49

标签: asp.net-mvc-3 view for-loop foreach viewdata

我有一个复选框列表,如:

<% foreach (var tobj in (ViewData["terr"] as List<Location>))
{ %>
   <input type="checkbox" name="terr" id="<%: tobj.Location_Id %>" value="<%: tobj.Location_Id %>" disabled="disabled"/> 
   <span id="<%: tobj.Location_Name %>"> <%: tobj.Location_Name %> </span>
   <br />
<% } %>

但我希望在一行中显示3或4个复选框。为此,我需要将foreach转换为for循环。我无法做到这一点。希望有人能帮助我。

1 个答案:

答案 0 :(得分:0)

我不知道为什么你不能在foreach循环中完成你需要的东西。如果您使用更多信息更新了问题,我们可能会帮助您调试初始foreach循环。此外,如果您使用MVC 3我推荐使用Razor视图引擎,语法会更好。

等效的for循环:

<% { var locations = (List<Location>)ViewData["terr"] } %>

<% for (int i = 0; i < locations.Count(); i++)
{ %>
    <input type="checkbox" name="terr" id="<%: locations[i].Location_Id %>" value="<%: locations[i].Location_Id %>" disabled="disabled"/> 
    <span id="<%: locations[i].Location_Name %>"> <%: locations[i].Location_Name %> </span>
    <br />
<% } %>