У меня есть форма, которая отправляет значение из выпадающего меню в действие контроллера под названием LoadDCBReport. При использовании выпадающего меню все работает нормально, и открывается ожидаемый вид. Однако, когда я обновляю страницу sh, я получаю сообщение об ошибке «localhost неожиданно закрыл соединение». Почему обновление страницы вызывает такой тип ошибки?
URL выглядит примерно так: https://localhost:5001/Reports/Reports/DelinquentCertificateBalances?TaxYears=Company.Areas.Reports.Models.DelinquentCertificateBalances%2BTaxYear&TaxYears=Company.Areas.Reports.Models.DelinquentCertificateBalances
... (продолжение)
Просмотр / Javascript
$('#savedCriteria').on('change', function () {
//Ajax form post
$.ajax({
type: 'POST',
data: { selectedCriteria : $('#savedCriteria option:selected').text() },
//contentType: "application/json; charset=utf-8",
url: '@Url.Action("LoadDCBReport", ViewContext.RouteData.Values["Controller"].ToString())',
success: function (data) {
console.log(data);
if (data.success) {
window.location.href = data;
} else {
window.location.href = data;
}
}
});
});
Контроллер
[HttpPost]
public ActionResult LoadDCBReport(string selectedCriteria)
{
ReportTaxYearSummary report = new ReportTaxYearSummary(ReportTaxYearSummary.TypeOfReport.DelinquentCertBalance);
report.GetAvailableSavedCriteria(out List<ReportCriteria> criteria, out Notification not);
ReportCriteria chosenCriteria = criteria.Where(x => x.CriteriaName == selectedCriteria).FirstOrDefault();
var reportCriteria = (ReportTaxYearSummaryCriteria)chosenCriteria;
var convertedReport = new DelinquentCertificateBalances().ConvertObject(reportCriteria);
TempData.Put("TaxYears", convertedReport.TaxYears);
TempData.Put("Municipalities", convertedReport.Municipalities);
TempData.Put("Properties", convertedReport.Properties);
return Json(Url.Action("DelinquentCertificateBalances", "Reports", convertedReport));
}
public IActionResult DelinquentCertificateBalances(DelinquentCertificateBalances report)
{
ReportTaxYearSummary dcb = new ReportTaxYearSummary(ReportTaxYearSummary.TypeOfReport.DelinquentCertBalance);
dcb.GetAvailableSavedCriteria(out List<ReportCriteria> criteria, out Notification not);
if (report.SelectedCriteria == null)
{
var model = new DelinquentCertificateBalances
{
TaxYears = DCBGetTaxYears(),
Municipalities = DCBGetMunicipalities(),
Properties = DCBGetProperties()
};
return View(model);
}
else
{
report.TaxYears = TempData.Get<List<DelinquentCertificateBalances.TaxYear>>("TaxYears");
report.Municipalities = TempData.Get<List<DelinquentCertificateBalances.Municipality>>("Municipalities");
report.Properties = TempData.Get<List<DelinquentCertificateBalances.Property>>("Properties");
report.Criteria = criteria;
return View(report);
}
}