【发布时间】:2014-11-21 08:58:47
【问题描述】:
我正在尝试从另一个控制器访问我的 MVC HomeController 的方法,以在用户未通过身份验证时将其重定向到主页。问题是如果我自己实例化它,我的 HomeController 中的 Session 没有设置,但我必须从我的 HomeController 访问存储在会话中的变量。我试图通过这种方式解决问题:
HomeController currentHomeController = new HomeController();
currentHomeController.Session = this.Session;
return currentHomeController.Index();
但是 Session 变量没有设置器,所以这不起作用。有没有其他方法可以做到这一点?
我的解决方案
这行得通:
return RedirectToAction("Index", "Home");
感谢您的回答!
【问题讨论】:
-
你不能像这样创建自己的控制器实例,这就是导致你所有问题的原因。 ASP.NET 框架创建控制器的实例。如果你想重用action方法,正常的方法是把客户端重定向到你想要的action方法,像这样:stackoverflow.com/a/27057561/7724
标签: c# asp.net asp.net-mvc asp.net-mvc-4