更新到Windows 10后,Ajax表单不起作用

时间:2015-08-06 21:34:50

标签: jquery ajax asp.net-mvc-4 windows-10 ajaxform

我的网络应用程序存在问题。 Project是在MVC 4中创建的。几天前我将操作系统更新到Windows 10.之后在我使用ajax表单的所有视图中,它将模型发布为null,因此我在控制器中得到了NullReferenceException。在更新之前一切都很完美。使用经典表单的标准发布操作正常工作。通过jQuery使用的ajax请求也可以。我完全陷入困境。

有人知道如何解决它吗?

修改

我为测试创建了空的mvc应用程序并准备了简单的ajax表单并且它可以工作..仍然不知道下面给出的例子是什么原因。 为布局视图(jquery,ajax等)提供了所有需要的脚本。

以下只是整个视图的一个组成部分。在这里张贴它太大了。 它工作得很完美,在我更新了Windows后它停止工作(也许我做了其他事情,但我之前无法恢复状态)。

模型

public class UniversityModel
{
    public UniversityDto UniversityDto { get; set; }

    public IList<UniversityDto> UniversityDtos { get; set; }

    public UniversityModel()
    {
        UniversityDtos = new List<UniversityDto>();
    }
}

public class UniversityDto
{
    public long Id { get; set; }

    [Required]
    public string ShortName { get; set; }

    [Required]
    public string LongName { get; set; }
}

控制器:

        [HttpPost]
    public PartialViewResult AddUniversity([Bind(Prefix = "UniversityDto")]UniversityDto model)
    {
        UniversityModel universityModel = new UniversityModel();
        using (ISession session = (ISession)_unitOfWork.GetBaseSession())
        {
            using (Infrastructure.Data.Interfaces.ITransaction transaction = _unitOfWork.BeginTransaction())
            {
                if (ModelState.IsValid)
                {
                    model.ShortName = model.ShortName.Trim();
                    model.LongName = model.LongName.Trim();
                    var entity = Mapper.Map<University>(model);
                    session.Save(entity);
                    transaction.Commit();

                    universityModel = CompleteUniversityModel(session);
                    return PartialView("UniversityPartial", universityModel);
                }
                else
                {
                    universityModel = CompleteUniversityModel(session, model);
                    return PartialView("UniversityPartial", universityModel);
                }
            }
        }
    }

查看(我省略了脚本部分和主视图)

@model ThesisNavigator.Presentation.WebFrontend.Models.StructureController.UniversityModel

@using (Ajax.BeginForm("AddUniversity", "Structure", new AjaxOptions()
{
HttpMethod = "POST",
UpdateTargetId = "UniversityPartialContainer",
LoadingElementId = "loadingUniversity",
OnBegin = "onBeginAddUniversity",
OnSuccess = "onSuccessAddUniversity",
OnFailure = "onFailureAddUniversity"
},
new { @class = "form-inline", @id = "formAddUniversity" }))
{
<div class="form-group">
    @Html.LabelFor(m => m.UniversityDto.ShortName)
    @Html.TextBoxFor(m => m.UniversityDto.ShortName, new { @class = "form-control" })
</div>
<div class="form-group">
    @Html.LabelFor(m => m.UniversityDto.LongName)
    @Html.TextBoxFor(m => m.UniversityDto.LongName, new { @class = "form-control" })
</div>
<button type="submit" class="btn btn-default">Dodaj</button>
<div class="center">
    @Html.ValidationSummary("", new { @id = "formAddUniversityValidationSummary", @class = "center", @style = "display:none" })
</div>
}
<div id="universityList">
@{ Html.RenderPartial("UniversityListPartial", Model.UniversityDtos); }
</div>

0 个答案:

没有答案