Последние записи
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
23rd
Июл
Redirect из ajax формы
Posted by micher under ASP.NET
H’orn
Столкнулся с интересной проблемой, есть частичное представление с аяксовой формой для ввода логина и пароля. Аяксовая потому что некоторый контент доступен и без аутентификации, и что бы не перегружать страницу полностью было принято сделать ее аяксовой. Но всегда есть ‘но’, после того как логин и пароль подходят, нужно сделать редирект на другой контроллер и экшн, а возвращается мне вся страница и контент страницы на которую должно перейти вставлен в тот контейнер который указан в UpdateTargetId. Вопрос собственно такой, как сделать редирект на другую страницу из аяксовой формы которая делает реплейс?
@using (Ajax.BeginForm("Login", "Main",
new AjaxOptions()
{
HttpMethod = "POST",
UpdateTargetId = "sidebar",
InsertionMode = InsertionMode.Replace
}))
{...}
Код action:
[HttpPost]
public ActionResult Login(LoginModel model)
{
if (ModelState.IsValid)
{
LoginService loginServ = new LoginService(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["AMConnectionString"].ConnectionString);switch(loginServ.Authenticate(model))
{
// case 1: для администратора направлять на админскую часть.
case 2:{
return RedirectToAction("Test","Main");
}
default:
{
return PartialView(model);
}
}
}
else
{
return PartialView(model);
}
}
H’orn
Решение оказалось очень простое.
В Action нужно изменить
returnRedirectToAction("Test","Main ");
на return Json(new { success = true, message = "", redirectUrl = Url.Action("Test", "Main") });
а в представлении
@using (Ajax.BeginForm("Login", "Main",
new AjaxOptions()
{
HttpMethod = "POST",
UpdateTargetId = "sidebar",
InsertionMode = InsertionMode.Replace,
OnSuccess = "loginSuccess"
}))
{...}
function loginSuccess(data) {
if (data.success) {
window.location = data.redirectUrl;
}
}
Пост написан при поддержке Termo Studio — системы отопления, кондиционирования, водообеспечения.
Теплый пол
Система теплый пол уже стала настоящим народным товаром. Устройство теплых полов таково, что использование этой конструкции дарит ни с чем несравнимое ощущение комфорта. Электрический теплый пол намного выгоднее в установке как в квартирах и домах, так и в офисных помещениях. Он обеспечивает правильную циркуляцию теплого воздуха в помещении, что намного полезнее, чем использование обычных систем отопления.
Простота монтажа теплых полов позволяет устанавливать их как при строительстве новых зданий, так и при ремонте существующих.
Терморегулятор теплых полов позволяет настраивать подходящую температуру в помещении, сам процесс весьма прост и дешев, что является большим плюсом. Монтаж теплых полов предполагает несколько возможных вариантов их установки: теплый пол под ламинатом, ковролином, керамической плиткой, линолеумом.
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)