在一个地方进行重定向的最佳方法是什么ActionFilterAttribute?我有一个ActionFilterAttribute调用IsAuthenticatedAttributeFilter并检查会话变量的值.如果变量为false,我希望应用程序重定向到登录页面.我更喜欢使用路由名称SystemLogin重定向,但此时任何重定向方法都可以.
我编写了一个动作过滤器,用于检测新会话并尝试将用户重定向到一个页面,通知他们已经发生这种情况.唯一的问题是我无法弄清楚如何将其重定向到动作过滤器中的控制器/动作组合.我只能弄清楚如何重定向到指定的网址.有没有直接的方法重定向到mvc2中的动作过滤器中的控制器/动作组合?
在哪种情况下,我可以使用RedirectToAction和在哪里使用RedirectToRouteResult?
我有两个动作方法,如下所示.
public class ActionResultTypesController : Controller
{
public ActionResult Content()
{
return new RedirectToRouteResult(new RouteValueDictionary(
new { action = "Fileresult", controller = "ActionResultTypes" }));
}
public ActionResult Fileresult()
{
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
我也可以像下面那样编写相同的代码.唯一的区别是这次我用来RedirectToAction代替RedirectToRouteResult
public class ActionResultTypesController : Controller
{
public ActionResult Content()
{
return RedirectToAction("Fileresult", "ActionResultTypes");
}
public ActionResult Fileresult()
{
return View();
}
}
Run Code Online (Sandbox Code Playgroud)