protected override void OnActionExecuting(ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); if (Session["ID"] == null) { if (Request.IsAjaxRequest()) { } else { filterContext.Result = new JavaScriptResult() { Script = "<script>window.parent.location.href = '/home/login';</script>" }; } } }
这样页面上值输出了这句:
<script>window.parent.location.href = '/home/login';</script>,不执行这个js,怎么回事
filterContext.HttpContext.Response.Write("<script>window.parent.location.href = '/home/login';</script>");
试试
应该在页面加载的时候向客户端写入。
没明白,应该在哪个位置呢?
@拖鞋王子: return View()
@Launcher: 我是在过滤器中呢
filterContext.Result = new RedirectResult("/home/login");直接这样返回不行吗?
我要操作iframe的父页面呢
直接返回 JavaScriptResult.
不用 <scritpt>标签的。 你去掉试试