@Kcid13

Как реализовать модальное окно на ASP.NET MVC4?

Есть главное представление, в нем есть Ajax-ссылка, которая загружает частичное представление -- модальное окно с формой для входа. Если данные не проходят проверку -- действие возвращает частичное представление с моделью, показывается сообщение об ошибке. Если данные проверку проходят -- необходимо перенаправить пользователя на другое действие. Вместо этого представление загружается в элемент разметки на этой же странице.
Как настроить возвращаемые значения, чтобы все было как надо?
public PartialViewResult Login()
{
    return PartialView();
}
[HttpPost]
public ActionResult Login(LoginModel model)
{
    if (!ModelState.IsValid)
    {                
        return PartialView(model);
    }
    return RedirectToAction("Index", "Home");
}


Update:
Вместо RedirectToAction("Index","Home") возвращаю вид с js-скриптом, который и перенаправляет на нужную мне страницу.
<script type="text/javascript">
    window.location = "Home/Index";
</script>

Но все равно мне кажется, что можно это как-то красивее сделать.
  • Вопрос задан
  • 4321 просмотр
Решения вопроса 1
@Quilin
Full-stack разработчик
Попробуйте вернуть ContentResult(Url.Action("Index", "Home")) и на success запроса вручную обновить location.href.

Также настоятельно не рекомендую вам писать на вьюхах урлы страниц руками, для этого в MVC есть UrlHelper. Достаточно написать

window.location = "@Url.Action("Index", "Home")"
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы