静态方法中的RedirectToAction

时间:2015-03-06 23:04:51

标签: asp.net-mvc-3

也许我刚刚脑子崩溃了..

但我有这个静态方法(在静态类中) 而意识形态则是重新定位。什么时候叫。

    public static class ControllerHelpers
{
    public static ActionResult RedirectToLogon(HttpContext ctx) 
    {
        try
        {
            return View(@"Account\LogOn.aspx", new { ReturnUrl = ctx.Request.RawUrl });
        }
        catch (Exception)
        {
        }
        finally 
        {
            ctx = null;
        }
    }

}

有人可以为此提供帮助吗? 我一直这样: "名称'查看'在当前背景下不存在"

1 个答案:

答案 0 :(得分:1)

这不是重定向。你想要的是这样的,这是一个实际的301重定向,它将导致URL在浏览器中发生变化:

public static class ControllerHelpers
{
    public static ActionResult RedirectToLogon(HttpContext ctx) 
    {
        try
        {
            return new RedirectToRouteResult(
                new RouteValueDictionary(
                   new { 
                       action = "LogOn", 
                       controller = "Account", 
                       ReturnUrl = ctx.Request.RawUrl }));
        }
        catch (Exception)
        {
        }
        finally 
        {
            ctx = null; // Why on earth do you want to do this????
        }
    }
}