Прежде всего вы должны исправить раздел таблицы, теперь выглядит плохо.
Во-вторых, вы не можете использовать таблицу, если хотите показать только 1 элемент, это чепуха.
В-третьих;
В вашем контроллере
ActionResult MyPage(){}
метод, вы можете отправить список ответов путем временного использования.
public ActionResult MyPage(){
List<PoolManager.Models.Question> questionList = dbModel.Questions.ToList();
TempData['answerList'] = dbModel.Answers/*.Where(//IF YOU WANT A WHERE CLAUSE YOU CAN WRITE HERE AS WELL)*/.ToList();
//We just sent List<Answers> inside that TempData["answerList"], we will cast it in RazorPage later.
return View(questionList);
}
И после этого вы должны использовать
@model List<PoolManager.Models.Question>
вверху вашей страницы Razor.
Потому что мы отправляем список PoolManager.Models.Question
объектов.
И здесь я предполагаю, что вы используете Bootstrap Modal. Если нет, вы можете использовать это как div внутри каждой ячейки ответа и другую таблицу в этих div.
Давайте посмотрим на мой путь:
<table class="table">
<thead>
<tr class="bg-primary">
<th>Question</th>
<th>Answers</th>
<th>Starting Date</th>
<th>Ending Date</th>
<th>Active</th>
<th>BUTTON LINKS</th>
</tr>
</thead>
<tbody>
@foreach(var question in Model)
{
<tr>
<td class="bg-info">@question.Text</td>
<td class="bg-info">
<a href="#" class="btn btn-primary" data-target="#myModalId_@question.questionId" data-toggle="modal">Answers</a>
</td>
<td class="bg-info">@question.StartDate</td>
<td class="bg-info">@question.EndDate</td>
<td></td>
<td>
<a asp-action="Edit" asp-route-id="@question">Edit</a> |
<a asp-action="Details" asp-route-id="@question.Id">Details</a> |
<a asp-action="Delete" asp-route-id="@question.Id">Delete</a>
</td>
</tr>
}
</tbody>
</table>
Мы только что закончили раздел таблицы, давайте заполним модалы.
Вам необходимо привести TempData ["answerList"] к классу List, который мы описали в Controller ранее.
@foreach(var question in Model)
{
<div class="modal fade" id="myModalId_@question.questionId" tabindex="-1" role="dialog" aria-labelledby="myModalId_@question.questionId">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalId_@question.questionId">Looking at @question.Text 's answers</h4>
</div>
<div class="modal-body">
@foreach(var answer in ((List<Answers>)TempData["answerList"]).ToList() )
{
<div class="row">
@answer.Text
</div>
}
</div>
</div>
</div>
</div>
}
Надеюсь, это вам очень поможет.