I am using asp.net core to loop over the list of model objects and in each iteration, I am calling a modal to open with anchor tag. The code is given below.
foreach (var job in Model)
{
<div class="col-12">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-xl-7 col-md-8 col-sm-12">
<div class="d-flex align-items-start flex-wrap" style="column-gap: 20px; row-gap: 10px;">
<div class="container-icon dark-icon">
<i data-feather="briefcase"></i>
</div>
<div>
<a href="#" class="prev-job" data-id="@job.Id" data-bs-toggle="modal" data-bs-target="@("#j"+job.Id)">
<h2 class="mt-0">@job.Name</h2>
</a>
<p class="text-fade">
@(job.RecruitmentType != null ? job.RecruitmentType : ""),
@(job.Experience != null ? job.Experience + " experience" : "Experience unspecified")
</p>
</div>
<div class="d-flex align-items-center align-self-start">
<i class="fa fa-circle fade-icon"></i>
<span class="text-fade mx-3">
@(job.DatePosted.ToString("dd MMM yyyy"))
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@await Html.PartialAsync("JobPreview", job.JobPreviewDetails)
}
Using <a href="#" class="prev-job" data-id="@job.Id" data-bs-toggle="modal" data-bs-target="@("#j"+job.Id)"
, I call the model to open which is displayed in a Partial View.
JobOpening.cshtml
PartialView file is given below.
@model BusinessLogicCommon.RequestModel._JobPreview
<div id="@("j"+Model.Id)" class="job-preview modal modal-right fade" tabindex="-1" role="dialog" aria-hidden="true">
<div class="row">
<div class="d-flex align-items-start">
<div class="container-icon dark-icon mt-3">
<i data-feather="briefcase"></i>
</div>
<div style="margin-left: 30px;">
<h2 class="fw-500">@Model.JobTitle</h2>
<p class="text-fade">
@(Model.RecruitmentType != null ? Model.RecruitmentType : "Type unspecified"),
@(Model.Experience != null ? Model.Experience + " experience" : "Experience unspecified")
</p>
</div>
</div>
</div>
</div>
The model is not opening and I am getting vendors.min.js:18 Uncaught TypeError: Illegal invocation at Object.findOne (vendors.min.js:18:9132)
error.
You need to put your modal data into
<div class="modal-dialog">
<div class="modal-content">
xxxxx
</div>
</div>
Please change your Partial View to:
@model BusinessLogicCommon.RequestModel._JobPreview
<div id="@("j"+Model.Id)" class="job-preview modal modal-right fade" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="row">
xxxxxx
</div>
</div>
</div>
</div>
Then the modal can show normally.