Возврат одного из двух частичных представлений из контроллера

На мой взгляд, я делаю частичный вид для регистрационной формы:

<div class="col-md-8 regform">
            @Html.Partial("_RegistrationForm",Model)
        </div>

Теперь, когда пользователь отправляет форму, я использую ajax для вызова контроллера. Контроллер проверяет, свободен ли режим от ошибок. В случае ошибки контроллер возвращает частичное представление модели для регистрации. Но если ошибки нет, контроллер возвращает другое частичное представление. Ниже мой вызов Ajx:

 $("#registrationform").submit(function (e) {
               $.ajax({
                   type: "POST",
                   url: '/Members/Register/',
                   data: $("#registrationform").serialize(),
                   success: function (data) {
                       $('.regform').html(data);
                   }
               });

               e.preventDefault(); // avoid to execute the actual submit of the form.
           });

Контроллер

 if (!ModelState.IsValid)
            {
                model.CountryList = ISOCountryHelper.Instance.getAllCountries();
                model.StateList = new List<SelectListItem>();
                model.CityList = new List<SelectListItem>();
                return PartialView("_RegistrationForm",model);
            }

            //do other stuff
            model.UserCreated = true;
            return PartialView("_Notifications", model);

Теперь проблема в том, что когда в модели есть ошибки, тогда в представлении нормально отображается ошибка и форма регистрации. Но если теперь есть ошибка и контроллер возвращает частичное представление _Notification, тогда регформа тега div не заменяется частичным представлением «_Notification». Вместо этого частичное представление появляется на новой странице. Я хочу, чтобы он отображался на той же странице в regform тега div. Любая идея, что я делаю здесь неправильно.

Спасибо


person Fahad    schedule 19.04.2017    source источник


Ответы (1)


Убедитесь, что частичное представление, которое не работает, не имеет свойства Layout, установленного в верхней части, так как это будет отображать его как полное, а не частичное представление. Вы можете сравнить с тем, что действительно работает

person Milney    schedule 20.04.2017