执行没有重定向的操作

时间:2009-05-25 11:55:55

标签: asp.net-mvc

我对社区有一点疑问。 ASP.NET MVC是否允许在没有RedirectToAction()方法的情况下执行另一个控制器的操作而不创建此控制器的实例?

3 个答案:

答案 0 :(得分:2)

这是不可能的。对于要执行的实例方法,必须有一个要执行的实例。操作方法就像所有其他方法一样,所以你总是需要一个实例来调用该方法。

答案 1 :(得分:0)

你的意思是你想拥有一个什么都不返回的View。没有看法。没有nadda?

如果是这样,你可以返回EmptyResult ViewResult 类......

HTH。

答案 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);