I Have the following in my razor view
@foreach (var group in Model.QuestionList.GroupBy(x => x.AreaName))
{
<h4>@group.Key</h4>
for (int i = 0; i < Model.QuestionList.Count(x => x.AreaName == group.Key); i++)
{
<div class="form-group">
<div class="row">
<div class="col-md-4">
@Html.DisplayFor(x => Model.QuestionList[i].Question)
</div>
<div class="col-md-2">
@Html.HiddenFor(x => Model.QuestionList[i].StnAssureQuestionId)
@Html.DropDownListFor(model => model.QuestionList[i].Score, new SelectList(Model.QuestionList[i].Scores, "ScoreId", "ScoreNum", 0), "Please Select", new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.QuestionList[i].Score, "", new { @class = "text-danger" })
</div>
<div class="col-md-4">
@Html.EditorFor(x => Model.QuestionList[i].Comments, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.QuestionList[i].Comments, "", new { @class = "text-danger" })
</div>
</div>
</div>
}
}
I want to be able to display all the objects in QuestionList but group them by AreaName, which is the group key.
The current code displays the title of the first group then the questions in that group but after that all it does is display the next group name followed by the same questions then again for all the group.
It's a no brainer I'm sure but I'm still not skilled enough to spot it.