¿Podemos llamar al Método de un controlador desde otro controlador en asp.net MVC?¿Podemos llamar al Método de un controlador desde otro controlador en asp.net MVC?
Respuesta
También podría simplemente redirigir directamente al método de este modo:
public class ThisController
{
public ActionResult Index()
{
return RedirectToAction("OtherMethod", "OtherController");
}
}
Técnicamente, sí. Puede llamar a un método estático de un controlador o inicializar una instancia de un controlador para llamar a sus métodos de instancia.
Esto, sin embargo, tiene poco sentido. Los métodos de un controlador deben invocarse indirectamente por el motor de enrutamiento. Si sientes la necesidad de llamar directamente a un método de acción de otro controlador, es un signo que necesitas rediseñar.
De acuerdo. Es mejor devolver un 'RedirectToRouteResult' en lugar de simplemente llamar al otro controlador. –
Bueno, hay varias maneras de llamar en realidad un método de instancia en otro controlador o llamar a un método estático fuera de ese tipo de controlador:
public class ThisController {
public ActionResult Index() {
var other = new OtherController();
other.OtherMethod();
//OR
OtherController.OtherStaticMethod();
}
}
También puede redirigir a otro controlador, lo que hace más sentido .
public class ThisController {
public ActionResult Index() {
return RedirectToRoute(new {controller = "Other", action = "OtherMethod"});
}
}
O podría simplemente refactorizar el código común en su propia clase, lo que tiene aún más sentido.
public class OtherClass {
public void OtherMethod() {
//functionality
}
}
public class ThisController {
public ActionResult Index() {
var other = new OtherClass();
other.OtherMethod();
}
}
como controladores son sólo las clases de modo que sí, que podemos hacerlo. Podemos hacerlo por alguna de las siguientes maneras- 1.By redirecting- directamente return RedirectToAction("MethodName", "ControllerName");
2.By crear el objeto - ControllerName objController=new ControllerName();
objController.methodName(parameters)
probar esto.
var ctrl= new MyController();
ctrl.ControllerContext = ControllerContext;
//call action
return ctrl.Action();
- 1. Llamar a un método de otro controlador
- 2. ASP.NET MVC - pasar parámetros al controlador
- 3. .Controlador de instancias de .NET MVC dentro de otro controlador
- 4. Spring MVC, llamando a otro controlador desde Dentro de un controlador
- 5. ASP.Net MVC: Envío de JSON al controlador
- 6. Devolver JSON desde un método JsonResult en el controlador MVC
- 7. Cómo llamar a un método de controlador desde Javascript
- 8. ASP.NET MVC: Controlador simulado.Url.Action
- 9. ¿Cómo redirigir al índice desde otro controlador?
- 10. Render acción del controlador desde otro controlador
- 11. ¿Extiende un controlador desde el controlador en otro módulo?
- 12. ¿Podemos llamar el método de un controlador desde una vista (como lo llamamos idealmente desde el helper)?
- 13. Spring - Llamar al proveedor de autenticación personalizada desde un controlador
- 14. asp.net controlador genérico mvc
- 15. pase el diccionario al controlador asp.net mvc
- 16. ¿Cómo obtener la respuesta de un controlador desde otro controlador?
- 17. Redirigir a un URI externo desde el controlador ASP.NET MVC
- 18. Cómo llamar un puntero al método desde otro método
- 19. ASP.NET MVC pasar un ID en una ActionLink al controlador
- 20. ¿Es posible llamar al compilador Razor mediante programación desde un método de controlador?
- 21. ¿Cómo llamo a un método de controlador desde JQuery?
- 22. Redirigir un controlador a otro Controlador
- 23. Llame al HttpHandler asp.net predeterminado desde un controlador personalizado
- 24. .NET MVC - Llamar a un controlador Acción desde otra acción del controlador
- 25. Llamar javascript desde la acción del controlador MVC
- 26. Cómo redirigir a una acción de controlador desde un método JSONResult en ASP.NET MVC?
- 27. before_filter con otro controlador
- 28. ASP.NET MVC Controlador Dependencias (StructureMap)
- 29. ¿Cómo llamar a un método de controlador WebApi?
- 30. ¿Cómo pruebo el método OnActionExecuting de mi controlador asp.net-mvc?
Sí y si deseo devolver una lista de "OtherMethod"? var result = RedirectToAction no entrega la Lista ... – eMi