现在的位置: 首页 > 综合 > 正文

Asp.net mvc Filter 跳转

2012年06月18日 ⁄ 综合 ⁄ 共 1334字 ⁄ 字号 评论关闭

 public void OnActionExecuting(ActionExecutingContext filterContext)
        {
           string userName = filterContext.ActionParameters["userName"].ToString();
           if (!string.IsNullOrEmpty(userName))
           {
               RouteData rd = filterContext.RouteData;//.Route.GetRouteData(filterContext.HttpContext);

 

               var consult = consultService.GetConsultByUser(userName);
               if (consult.IsVip == 1 && (!rd.Values["action"].Equals("VipBlogIndex")))
               {
                  // var a = rd.Route.GetType().GetField("Domain",BindingFlags.Instance | BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.ExactBinding);
                 //  a.SetValue(rd.Route, userName + ".cm.aqioo.com");
                   filterContext.Result = new RedirectResult("http://"+userName + ".cm.aqioo.com/index.html");
                  //new RedirectToRouteResult("VipBlogIndex", new RouteValueDictionary(new { controller = "Blog",action = "VipBlogIndex", userName = userName }));
               }
               else if (consult.IsVip != 1 && (!rd.Values["action"].Equals("BlogIndex")))
               {
                   filterContext.Result = new RedirectResult("http://cm.aqioo.com/blog/" + userName + ".html");
                  // new RedirectToRouteResult("BlogIndex", new RouteValueDictionary(new { controller = "Blog", action = "BlogIndex", userName = userName }));
               }
           }
        }

抱歉!评论已关闭.