2

我正在使用 ASP.net 和 MVC3 。当会话过期时,我需要显示一个弹出窗口或转到登录页面。谁能告诉我如何重定向到操作名称为“index”且控制器名称为“Home”的登录页面。

我的代码是:

此方法在我的模型中。在此模型中,我必须重定向到登录页面。

protected Product GetCurrentCorp(HttpContextBase context)
    {

        if (context.Session != null)
        {
            var selectedProduct = context.Session["SelectedProduct"];
            if (selectedProduct != null)
            {
                var product= selectedProduct as Product;
                return product;                   
            }
        }
        // Here I need to redirect to index page(login page)
        throw new ArgumentException("Product is not set, Cannot Continue.");
    } 
4

4 回答 4

4

如果LoggedOn是您的 Action 并且Account是您的 Controller,那么您可以将代码编写为:

return RedirectToAction("LoggedOn", "Account");

希望对你有帮助。!!!

于 2012-09-12T12:02:46.403 回答
3

利用

重定向

RedirectToAction

重定向到路由

另请参阅旧帖子ASP.Net MVC Redirect To A different View

于 2012-09-12T12:05:27.067 回答
2

这是向您展示重定向到不同操作或 URL 的示例的自包含操作。

public ActionResult MyAction()
{
  // Use this for action, can also be used to redirect 
  // to action on different controller by adding parameter
  return RedirectToAction("MyActionName");

  // Use this for URL
  return Redirect("http://example.com/foo/bar");
}

希望这对您有所帮助。

于 2012-09-12T13:07:21.553 回答
1

您可以使用RedirectToAction()

return RedirectToAction("ActionName", "ControllerName");
于 2012-09-12T12:03:25.577 回答