【发布时间】:2011-03-13 05:53:02
【问题描述】:
我正在尝试使用 ActionFilterAttribute 来重定向未登录的用户。虽然我的重定向正在工作,但它会重定向,但它会首先调用我的所有 ActionResult 代码。
关于为什么它不尊重真实标志并结束响应的任何想法?
HttpContext.Current.Response.Redirect("~/Logon",true);
这是我的 ActionResult:
[RequireLoggedIn]
public ActionResult Create()
{
return View(_MessageService.GetAllMessageCategories());
}
这是我的属性:
public class RequireLoggedIn : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (Membership.GetUser() == null)
{
//Not logged in so back to the logon page.
HttpContext.Current.Response.Redirect("~/Logon",true);
HttpContext.Current.Response.End();
}
}
}
【问题讨论】:
-
@Madi - 不太可能;另一个问题是常规 aspx,不是 MVC,也不是动作过滤器。有很大的不同。
-
哦,你是对的,我的错。 =)
标签: c# asp.net-mvc-3 asp.net-mvc-2 redirect actionfilterattribute