我们可以从asp.net MVC中的其他控制器调用控制器的方法吗?我们可以从asp.net MVC中的另一个控制器调用控制器的方法吗?
12
A
回答
17
您也只需直接重定向到方法,像这样:
public class ThisController
{
public ActionResult Index()
{
return RedirectToAction("OtherMethod", "OtherController");
}
}
10
技术上,是的。您可以调用控制器的静态方法或初始化控制器的实例以调用其实例方法。
然而,这是没有道理的。控制器的方法意味着间接地由路由引擎调用。如果你觉得需要直接调用另一个控制器的动作方法,那么这是一个需要重新设计的标志。
+2
同意。最好返回一个'RedirectToRouteResult'而不是仅仅调用另一个控制器。 – 2010-05-26 07:41:52
7
嗯,有很多方法来实际调用另一个控制器上的实例方法或调用静态方法关闭该控制器型号:
public class ThisController {
public ActionResult Index() {
var other = new OtherController();
other.OtherMethod();
//OR
OtherController.OtherStaticMethod();
}
}
你也可以重定向到另一个控制器,这使得更多的意义。
public class ThisController {
public ActionResult Index() {
return RedirectToRoute(new {controller = "Other", action = "OtherMethod"});
}
}
或者您可以将通用代码重构为其自己的类,这更有意义。
public class OtherClass {
public void OtherMethod() {
//functionality
}
}
public class ThisController {
public ActionResult Index() {
var other = new OtherClass();
other.OtherMethod();
}
}
1
随着控制器只是类,所以是的,我们能做到这一点。我们可以通过下面的一些ways- 1.By做它直接redirecting- return RedirectToAction("MethodName", "ControllerName");
2.By创建对象 - ControllerName objController=new ControllerName();
objController.methodName(parameters)
1
尝试。
var ctrl= new MyController();
ctrl.ControllerContext = ControllerContext;
//call action
return ctrl.Action();
相关问题
- 1. 一个控制器可以调用另一个控制器吗?
- 2. ASP.NET MVC 4从另一个控制器调用控制器方法
- 3. 在Codeigniter中可以从另一个控制器调用另一个控制器的方法吗?
- 4. 它能够从mvc中的另一个控制器调用控制器吗?
- 5. 我们可以重载MVC控制器的动作方法吗?
- 6. Asp.net MVC控制器指数方法无法从另一个控制器
- 7. Spring MVC,从控制器内部调用另一个控制器
- 8. 在另一个控制器中调用控制器方法Ember
- 9. ASP.Net Core从另一个控制器调用控制器
- 10. 我们可以在asp.net mvc 3中同时调用两个actionresult /控制器吗?
- 11. 在另一个控制器中调用一个控制器的方法?
- 12. Angularjs:从另一个控制器中的控制器调用方法
- 13. 从视图中可以调用控制器中的方法吗?
- 14. asp.net MVC控制器调用从一个控制器输入,以antoher
- 15. 从另一个控制器动作中调用ASP.NET MVC动作
- 16. 在Typo3中调用当前控制器中的另一个控制器方法
- 17. 我可以在asp.net mvc控制器中使用多个Post方法吗?
- 18. ext js从另一个控制器调用控制器的方法
- 19. 滑轨:调用从另一个控制器的控制器方法 - > NoMethodError
- 20. 如何从控制器调用方法到另一个控制器编辑器
- 21. 我可以在另一个控制器内使用控制器吗?
- 22. 我们可以禁用控制器的按钮吗? - mvc
- 23. 从另一个基于url的控制器方法调用弹簧mvc控制器方法
- 24. 我们可以调用rake任务中的控制器方法吗?
- 25. ASP.Net MVC - 从一个控制器到另一个控制器(采取行动)
- 26. 从另一个控制器调用另一个控制器的功能
- 27. 从一个控制器方法重定向到另一个控制器方法
- 28. codeignetor调用控制器中的另一个控制器函数
- 29. 从asp.net的MVC控制器
- 30. 调用控制器内的另一个控制器如果
是的,如果我想从“OtherMethod”返回一个列表? var result = RedirectToAction不传递List ... – eMi 2017-03-21 12:04:17