mvc 框架页中如何重定向到顶级页面
如下BaseController 被其他Controller继承(不包括LoginController), 但是mvc网站使用了框架页,所以session失效后会登录页面会在框架页中显示,怎么让他重定向时在顶级页面显示
public class BaseController : Controller
{
//
// GET: /Base/
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.HttpContext.Session["Token"] == null)
{
filterContext.Result= RedirectToRoute(new{ Controller ="Login",Action ="LogOn" });
return;
}
base.OnActionExecuting(filterContext);
}
}
------解决方案--------------------用JS解决,有几种办法,简单的办法
在登陆页面判断父窗口是否为本窗口,不是就再跳转一下。
------解决方案--------------------top.location = '/login';
------解决方案--------------------filterContext.Result= Content("<script type='text/javascript'>top.location = '/login';</script>");