2009-05-25 110 views
1

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

回答

2

这是不可能的。对于要执行的实例方法,必须有一个要执行的实例.Action方法与所有其他方法一样只是方法,因此您始终需要一个实例来调用该方法。

+0

同意你,谢谢。 – iburlakov 2009-05-25 13:10:25

0

你的意思是你希望有一个视图不返回任何内容。没有看法。没有纳达?

如果是这样,美国可以返回EmptyResult的ViewResult类...

HTH。

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