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 }));

}

}

}