Я пытаюсь использовать ActionFilterAttribute для перенаправления пользователей, которые не вошли в систему. Хотя мой перенаправление работает, он перенаправляет, но сначала вызывает все мои коды ActionResult.Почему мой ActionFilterAttribute перенаправляется после запуска кода действия?
Любые идеи относительно того, почему он не соблюдает истинный флаг и не заканчивает ответ?
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, а не фильтрами действий. Есть большие различия. –
О, ты прав, моя ошибка. =) –