【发布时间】:2015-08-26 07:41:20
【问题描述】:
我需要从 OnActionExecuting 方法重定向到外部 URL(比如说“www.google.com”)。现在我正在使用这样的东西:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (!HttpContext.Current.User.Identity.IsAuthenticated)
{
var redirectUrl = "www.google.com";
try
{
var isAjaxRequest = filterContext.HttpContext.Request.IsAjaxRequest();
if (isAjaxRequest)
{
filterContext.HttpContext.Response.StatusCode = SessionController.CustomHttpRedirect;
filterContext.HttpContext.Response.StatusDescription = redirectUrl;
filterContext.Result = new JsonResult
{
Data = new { Redirect = redirectUrl },
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
}
else
{
filterContext.Result = new RedirectResult(redirectUrl, true);
}
return;
}
else
{
throw new LoggedOutException();
}
}
catch
{
throw new LoggedOutException();
}
}
}
问题是它没有将我重定向到“www.google.com”,而是重定向到“http://localhost:1234/www.google.com”(我在本地尝试)。 有什么办法可以解决这个问题? 谢谢
【问题讨论】:
标签: asp.net-mvc redirect url-redirection