TypeScript和控制器问题

时间:2015-06-01 18:05:48

标签: c# ajax asp.net-mvc typescript

因此,我正在将网站表单VB转换为C#并在此过程中使用TypeScript。我已成功将数据传递给控制器​​,但控制器会回到同一页面而不是下一页。 这是TypeScript(完整模块here

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";
        }
    });
}

以下是Controllerfull here

[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);
    }
}

1 个答案:

答案 0 :(得分:0)

在Controller上使用不必要的过滤器,如果无效,将继续返回当前页面。删除后,页面继续发布回发问题。