我对社区有一点疑问。 ASP.NET MVC是否允许在没有RedirectToAction()
方法的情况下执行另一个控制器的操作而不创建此控制器的实例?
答案 0 :(得分:2)
这是不可能的。对于要执行的实例方法,必须有一个要执行的实例。操作方法就像所有其他方法一样,所以你总是需要一个实例来调用该方法。
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以通过Reflection
技术调用它,但它不推荐。很快,因为它不在请求/响应/控制器上下文中
就个人而言,我更喜欢internal static method(bla bla){...}
,并在任何我想要的地方打电话
但是,如果你放弃
没有创建此控制器的实例
条款,然后您可以使用this methodology。但正如它解释的那样,不推荐太多。总结如下:
var controller = new FooController();
controller.ControllerContext = new ControllerContext(this.ControllerContext.RequestContext, controller);
var jsonResult = controller.BlaMethod(someInputParams);