Я хотел бы, чтобы это модальное окно ошибок отображалось, если есть проблемы или ошибки, которые необходимо отобразить пользователю после вызова действия SaveDailyCriteria. Мне нужно, чтобы частичное представление было отображено в представлении, где выполняется вызов действия SaveDailyCriteria. С кодом, который у меня есть ниже, вызывается return PartialView("_ErrorsModal", notification)
, но он никогда не отображается на моем главном экране.
Контроллер
[HttpPost]
public ActionResult SaveDailyCriteria(Daily report, string EnteredCriteriaName)
{
var criteria = report.ConvertToCriteria(report);
criteria.CriteriaName = EnteredCriteriaName;
var dr = new ReportDaily();
var nameExists = dr.DoesCriteriaNameAlreadyExist(criteria);
if (dr.SaveReportCriteria(criteria, nameExists, out Notification notification) == false)
{
return PartialView("_ErrorsModal", notification);
}
else {
return View(report);
}
}
Main Представление
@model Company.Areas.Reports.Models.Daily
@using Company.TaxCollection.Reports;
@{
ViewData["Title"] = "Daily Report";
}
<h1>@ViewData["Title"]</h1>
<br />
@using (Html.BeginForm("DailySubmit", "Reports", FormMethod.Post, new { id = "reportForm", @class = "report-form col-9" }))
{
...
...
<div id="saveModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title float-left">Save Criteria</h4>
<button type="button" class="close" data-dismiss="modal"></button>
</div>
<div class="modal-body">
<label>Enter the name to save as:</label><input type="text" id="savedReportName" name="EnteredCriteriaName" class="form-control" />
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="saveSubmit" data-dismiss="modal">Save</button>
</div>
</div>
</div>
</div>
}
<script>
$(document).ready(function () {
var dataType = 'application/x-www-form-urlencoded; charset=utf-8';
$(function () {
$('#saveSubmit').on('click', function (evt) {
var data = $('form').serialize();
//Ajax form post
$.ajax({
type: 'POST',
data: data,
contentType: dataType,
url: '@Url.Action("SaveDailyCriteria", "Reports")',
success: function (data) {
console.log(data);
if (data.success) {
//window.location.href = data;
} else {
//window.location.href = data;
}
}
});
});
});
});
</script>
_ErrorsModal Частичное представление
@model Company.NotificationPattern.Notification
<!-- Modal -->
<div id="errorsModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title float-left">Warning</h4>
<button type="button" class="close" data-dismiss="modal"></button>
</div>
<div class="modal-body">
@if (Model.HasErrors || Model.HasWarnings) {
<p>@Model.GetConcatenatedErrorMessage(Environment.NewLine + Environment.NewLine)</p>
}
</div>
<div class="modal-footer">
<button type="button" id="modalConfirm" class="btn btn-primary" data-dismiss="modal">OK</button>
</div>
</div>
</div>
</div>