当前位置:编程学习 > C#/ASP.NET >>

关于MVC过滤器的一个问题 求助

继承IAuthorizationFilter自定义过滤
当满足某条件时 指向登录页面 

问题:现在页面使用到弹出框 并非div而是一个iframe 这样标记Action后 条件满足时 指向了登录页面 但是登录页面显示在了弹出框内(实际要显示在父页面)
现在所有使用iframe的地方都出现了同样的问题,求高手指定一二。

--------------------编程问答-------------------- 这和服务器端代码没任何关系,只需在客户端登录页面加一段javascript代码即可:
<script>
if(top.location.href!=location.href)
top.location.href=location.href;
</script> --------------------编程问答-------------------- 你试试在iframe插入那个页面的load方法或者iframe操作的动作里加 。
parent.location.href="xxx.aspx";或者
window.location.href="xxx.aspx"; --------------------编程问答-------------------- 也许是我没说清楚吧  给几段代码你们就明白了


    //过滤器
     [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = true)]
    public class ManageAuthorizeAttribute : FilterAttribute, IAuthorizationFilter
    {
       #region IAuthorizationFilter 成员

        public void OnAuthorization(AuthorizationContext filterContext)
        {
            if (!AuthorizeCore(filterContext))
            {
                AppUserSession.Instance().SetReturnUrl(returnUrl);
                filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary { { "Controller", "Main" }, { "Action", "TimeOut" } });
                return;
            }
        }

        #endregion
}
    //控制器
     public class ProductController : Controller
    {
        [Authorization]
        public ActionResult Index()
        {
            return View();
        }
        [Authorization]
        public JsonResult GetUsers()
        {
            //逻辑处理
            return Json(obj);
        }
    }
--------------------编程问答--------------------

    //过滤器
     [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = true)]
    public class AuthorizationAttribute : FilterAttribute, IAuthorizationFilter
    {
       #region IAuthorizationFilter 成员

        public void OnAuthorization(AuthorizationContext filterContext)
        {
            if (!AuthorizeCore(filterContext))
            {
                AppUserSession.Instance().SetReturnUrl(returnUrl);
                filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary { { "Controller", "Main" }, { "Action", "TimeOut" } });
                return;
            }
        }

        #endregion
    }
    //控制器
     public class ProductController : Controller
    {
        [Authorization]
        public ActionResult Index()
        {
            return View();
        }
        [Authorization]
        public JsonResult GetUsers()
        {
            //逻辑处理
            return Json(obj);
        }
    }
--------------------编程问答-------------------- 木有人么?
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,