我们可以在Controller中创建静态ActionResult方法吗?

时间:2012-01-17 17:36:03

标签: asp.net-mvc

有人在采访中向我提出以下问题,我无法回答。有人请帮助我。

我们可以在控制器中创建静态ActionResult方法吗? 如是。有什么好处?如果没有是什么原因?

2 个答案:

答案 0 :(得分:7)

如果“ActionResult方法”是一个返回ActionResult的方法,当然可以将其声明为静态,但在启动该操作时不会调用它。当调用某个动作时,ASP.NET MVC会创建一个控制器实例(使用ControllerFactory),并且因为你的方法是静态的,所以它与任何实例无关,因此它不会被MVC调用

答案 1 :(得分:2)

不要认为创建静态操作方法是个好主意,因为您将无法再访问所有控制器属性,例如controllercontext等。