使用groupby foreach循环c#asp.net mvc显示除键以外的项
我目前正在使用带有foreach循环的groupby来显示嵌套记录的列表 但是我想给我们一个id作为键,这样我就可以用它来制作动态css选择器等等 但是我希望能够在第二个循环迭代之前显示每个组的名称 我认为守则会更清楚 基本上,如果我能在第二个循环开始之前访问group.key以外的属性,那就太好了。 我知道我可以限制标题循环的迭代次数,但感觉非常错误使用groupby foreach循环c#asp.net mvc显示除键以外的项,c#,asp.net-mvc,linq,C#,Asp.net Mvc,Linq,我目前正在使用带有foreach循环的groupby来显示嵌套记录的列表 但是我想给我们一个id作为键,这样我就可以用它来制作动态css选择器等等 但是我希望能够在第二个循环迭代之前显示每个组的名称 我认为守则会更清楚 基本上,如果我能在第二个循环开始之前访问group.key以外的属性,那就太好了。 我知道我可以限制标题循环的迭代次数,但感觉非常错误 <ul id="GoalAndTaskList"> <% foreach (var group in Model.
<ul id="GoalAndTaskList">
<% foreach (var group in Model.GroupBy(item => item.goalId)) { %>
<li>
/////This code is just to display the name, but it iterates
/////through the whole group, so the title is rendered many times
<% foreach (var item in group)
{ %>
<%= Html.Encode(item.goalName) %>
<% } %>
///////// Before this I was using group.key , which meant an Id was the title
/////////
<table id="taskTable<%= Html.Encode(group.Key) %>">
<% foreach (var item in group) { %>
<tr id="<%= Html.Encode(item.sortOrder) %>">
<td class="dragHandle"> </td>
<td><%= Html.Encode(item.sortOrder) %></td>
<td>
<input type="text" name="<%= Html.Encode(item.taskId) %>" value="<%=Html.Encode(item.taskName) %>"/>
</td>
<td>
<a id="DeleteTask<%= Html.Encode(item.taskId) %>">Delete Task</a>
</td>
</tr>
<% } %>
</table>
<br /><a id="AddNew2<%= Html.Encode(group.Key) %>">Add new task</a><br /><br />
</li>
<% } %>
</ul>
item.goalId)){%>
-
/////此代码仅用于显示名称,但它会进行迭代
/////通过整个组,因此标题被渲染多次
/////////在此之前,我使用group.key,这意味着Id就是标题
/////////
删除任务
添加新任务
我所做的就是这样
<% foreach (var item in group.Take(1))
{ %>
<%= Html.Encode(item.goalName) %>
<% } %>
这样做感觉很不对,有人能建议一种更干净的方法吗