Форма Ajax не работает после обновления до Windows 10

У меня проблема с моим веб-приложением. Проект был создан в MVC 4. Несколько дней назад я обновил свою операционную систему до Windows 10. После этого во всех представлениях, где я использую форму ajax, он отправляет модель как нулевое значение, поэтому я получаю исключение NullReferenceException в контроллерах. До обновления все работало отлично. Стандартные почтовые действия с использованием классической формы работают правильно. Также работает ajax-запросы, используемые через jQuery. Я полностью застрял.

У кого-нибудь была идея как это исправить?

РЕДАКТИРОВАТЬ

Я создал пустое приложение mvc для тестирования и подготовил простую форму ajax, и она работает. До сих пор не знаю, в чем причина приведенного ниже примера. Все необходимые скрипты предоставляются для просмотра макета (jquery, ajax и т. Д.).

Ниже приведен только один компонент всего представления. Это слишком большой, чтобы разместить его здесь. Он работал отлично, и после того, как я обновил окна, он перестал работать (возможно, я сделал что-то еще, но я не могу вернуться к состоянию раньше).

модель

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 ответов

Другие вопросы по тегам