2009-05-25 136 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);