не в состоянии перемещаться с помощью RedirectToAction - PullRequest
0 голосов
/ 27 сентября 2011

Я хочу переходить на другую страницу с помощью Redirect, то есть когда результат равен false, тогда я хотел бы перейти на страницу исключений, которой не происходит.

 public ActionResult IsLoginExsit(CustomerDO loginData)
    {          


        if (!string.IsNullOrEmpty(loginData.UserName) && !string.IsNullOrEmpty(loginData.Password))
        {
            bool result = Businesss.Factory.BusinessFactory.GetRegistrations().IsLoginExist(loginData.UserName, loginData.Password);
            if (result)
            {
                CustomerDO custInfo = new CustomerDO();
                JsonResult jsonResult = new JsonResult();
                jsonResult.Data = loginData;
                custInfo = Businesss.Factory.BusinessFactory.GetRegistrations().GetCustInfoByUserName(loginData.UserName);
                SessionWrapper.SetInSession("CustomerID", custInfo.Id);
                SessionWrapper.SetInSession("CustomerFirstName", custInfo.FirstName);
                SessionWrapper.SetInSession("CustomerLastName", custInfo.LastName);
                return jsonResult;
            }
            else
            {
                return RedirectToAction("UnAuthorized", "Exceptions");
            }
        }
        return View();

    }

1 Ответ

0 голосов
/ 27 сентября 2011

Вы, кажется, вызываете это действие, используя AJAX.Если вы хотите перенаправить это, это должно быть сделано на стороне клиента при успешном обратном вызове этого вызова AJAX с использованием window.location.href.Так, например, вы можете адаптировать свое действие так, чтобы в случае ошибки он возвращал объект JSON, содержащий URL-адрес для перенаправления на:

else
{
    return Json(new { errorUrl = Url.Action("UnAuthorized", "Exceptions") }); 
}

, а затем внутри обратного вызова AJAX:

success: function(result) {
    if (result.errorUrl) {
        window.location.href = result.errorUrl;
    } else {
        ...
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...