我无法使用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();
}
答案 0 :(得分:0)
您似乎正在使用AJAX调用此操作。如果要重定向,则应使用window.location.href
在此AJAX调用的成功回调中在客户端完成此操作。因此,例如,您可以调整您的操作,以便在出现错误时返回包含要重定向到的URL的JSON对象:
else
{
return Json(new { errorUrl = Url.Action("UnAuthorized", "Exceptions") });
}
然后在你的AJAX成功回调中:
success: function(result) {
if (result.errorUrl) {
window.location.href = result.errorUrl;
} else {
...
}
}