Asp.net mvc Filter 跳转
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 }));
}
}
}
posted on 2010-08-11 19:14 jianshaohui 阅读(841) 评论(0) 编辑 收藏 举报