I am relatively new to this. I am working on this ASP.NET Core MVC
project where I want to load a PartialView
, HistoryTable.cshtml
in a <div>
in the current Main View
when the Main View
, Locate.cshtml
loads. In other words, I want the PartialView
to be there whenever the MainView
loads/reloads.
I am implementing it in the following way:
Locate.cshtml
@model Project.Models.CustomModels.LocationsHistoryViewModel
<div class="container">
...
<div id="divLocationsHistoryTable"></div>
...
</div>
@section Scripts {
<script type="text/javascript">
$(document).ready(function () {
$(".disabledropdowncntrl").prop('disabled', false).trigger("chosen:updated");
$("#divLocationsHistoryTable").load("/Project/HistoryTable");
});
HistoryTable.cshtml
@model IEnumerable<Project.Models.CustomModels.LocationsHistoryViewModel>
<div class="card">
...
@if(Model.Count() != 0)
{
<thead>
<tr>
<th data-column-id="UserId" data-type="string" data-identifier="true" hidden>User ID</th>
<th data-column-id="Name">Name</th>
...
</tr>
</thead>
}
else
{
...
}
<tbody>
@foreach(var item in Model)
{
<tr>
<td>
@item.User.FirstName @item.User.LastName
</td>
...
</tr>
}
</tbody>
</div>
Controller: Locate ActionMethod
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Locate(int Id, InventoryLocationsHistoryViewModel locationsHistoryVM)
{
...
var HistoryObject = _context.History
.Include(...
.Where(...
.Select(...
{
...
}).ToList();
return PartialView("/Project/HistoryTable", HistoryObject);
}
What to do?
EDIT
The issue that I am facing is similar to this question, however, the difference is that I HAVE to use Submit
button here as I am submitting form
here. The Submit
button has to do two things when clicked:
- Save the
form
details into the database. - Update the
HistoryTable
that has to be displayed below theSubmit
button always. ThisHistoryTable
has to be shown at all times (even before clickingSubmit
). Thus, I cannot useButton
.