У меня здесь есть приложение .NET Core 2.0, и в одном из моих представлений я использовал цикл foreach
для отображения всех элементов в этой таблице базы данных. Все работало отлично. Теперь я добавил еще один foreach
цикл внутри того, который содержится в модале Bootstrap, чтобы показать список идентификаторов, но теперь я получаю сообщение об ошибке
Имя 'modelItem' не существует в текущем контексте
Я уверен в причине. Похоже, все правильно. Может кто-нибудь указать, почему я получаю эту ошибку, или предоставить альтернативный способ получения нужной информации из БД для отображения в этом модальном режиме?
View
@foreach (var Submission in Model.Submissions)
{
<div class="col-sm-3">
// Code that populates the project cards on the page
</div>
<!-- Modal -->
<div class="modal fade" id="StatusCodeUpdate-@Submission.ID" tabindex="-1" role="dialog" aria-labelledby="StatusCodeUpdateLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="StatusCodeUpdateLabel">Update Status Code for @Submission.Title </h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<h6>Status Codes</h6>
<form method="post">
@foreach (var Code in Model.StatusCodes)
{
@Html.DisplayFor(modelItem = Code.ID) // ERROR!!!
}
</form>
</div>
...
}
Код позади
public class TeamleadModel : PageModel
{
public IList<Submission> Submissions { get; set; }
public IList<Status> StatusCodes { get; set; }
private readonly SubmissionContext _submissionContext;
private readonly StatusContext _statusContext;
public TeamleadModel(SubmissionContext submission, StatusContext statusContext)
{
_submissionContext = submission;
_statusContext = statusContext;
}
public async Task OnGetAsync()
{
Submissions = await _submissionContext.Submissions.ToListAsync();
StatusCodes = await _statusContext.StatusCodes.ToListAsync();
}