TypeScript和控制器的问题

本文关键字:问题 控制器 TypeScript | 更新日期: 2023-09-27 17:51:21

因此,我正在将站点表单VB转换为C#,并在此过程中使用TypeScript。我有它成功地传递数据到控制器,但控制器后回到同一页,而不是下一页。这是TypeScript(完整模块在这里)

function formSubmission(submitId, submitUrl, formData, validation) {
    if (!submitId || hasSubmit)
        return false;
    if (validation) {
        if (!$("#empApp form").validate().form())
            return false;
        hasSubmit = true;
    }
    hasSubmit = true;
    // add load status functionality
    $(".modal").modal("show");
    $.ajax({
        type: "POST",
        url: submitUrl,
        data: formData,
        dataType: "json",
        contentType: 'application/json; charset=utf-8',
        success: function (response) {
            window.location.href = "/employment/application/references";
        },
        error: function (xhr, ajaxOptions, error) {
            $(".modal-body").html("<h3>" + status + "<small>" + error + "</small></h3>");
            setTimeout(function () {
                $(".modal").modal("hide");
            }, 100);
            window.location.href = "/employment/application/work-experience";
        }
    });
}

这是Controller(完整在这里)

[HttpPost, Route("Work-Experience")]
public ActionResult WorkExperience(List<EmploymentApplicationWorkExperience> appExperience)
{
    EmploymentApplication empAppSession = getApplication();
    if (!HasSession()) { return InvalidAppSession(); };
    SetupViewBag();
    if (!empAppSession.Steps.HasFlag(EmploymentApplication.ApplicationStepTypes.EducationSkills))
    {
        return PartialView(GetApplicationStepError());
    }
    if (ModelState.IsValid)
    {
        if (appExperience != null)
        {
            empAppSession.ApplicationWorkEperiences = appExperience;
            //  empAppSession.Application.empApWorkExperiences = (ICollection<empApWorkExperience>)appExperience;
            empAppSession.StepCompleted(EmploymentApplication.ApplicationStepTypes.Workexperiences);
            updateApplicationStep(empAppSession.Steps);
            updateApplicationWorkExpriences(empAppSession.ApplicationWorkEperiences);
            updateApplication(empAppSession.Application);
            return RedirectToAction("References");
        }
        return PartialView(GetApplicationView("WorkExperience"), empAppSession.ApplicationWorkEperiences);
    }
    else
    {
        return PartialView(GetApplicationView("WorkExperience"), empAppSession.ApplicationWorkEperiences);
    }
}

TypeScript和控制器的问题

在Controller上使用了一个不必要的过滤器,如果无效,将继续返回当前页面。一旦删除,页面继续张贴回问题。