asp.net MVC의 다른 컨트롤러에서 컨트롤러의 메서드를 호출 할 수 있습니까?asp.net MVC의 다른 컨트롤러에서 컨트롤러의 메서드를 호출 할 수 있습니까?
답변
또한 단순히 때문에 같은 방법으로 바로 리디렉션 수 : 컨트롤러와 같은
public class ThisController
{
public ActionResult Index()
{
return RedirectToAction("OtherMethod", "OtherController");
}
}
기술적으로 그렇습니다. 컨트롤러의 정적 메서드를 호출하거나 컨트롤러의 인스턴스를 초기화하여 해당 인스턴스 메서드를 호출 할 수 있습니다.
그러나 이는 거의 의미가 없습니다. 컨트롤러의 메소드는 라우팅 엔진에 의해 간접적으로 호출됩니다. 다른 컨트롤러의 동작 방법을 직접 호출해야한다고 생각하면 할 일을 다시 디자인해야한다는 신호입니다.
public class ThisController {
public ActionResult Index() {
var other = new OtherController();
other.OtherMethod();
//OR
OtherController.OtherStaticMethod();
}
}
당신은 또한 더 의미가 다른 컨트롤러로 리디렉션 수 :
동의. 다른 컨트롤러를 호출하는 것보다는'RedirectToRouteResult'를 리턴하는 것이 더 낫습니다. –
음, 사실 다른 컨트롤러에서 인스턴스 메서드를 호출하거나 해당 컨트롤러 유형 떨어져 정적 메소드를 호출하는 방법은 여러 가지가 있습니다 .
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();
}
}
그래서 예, 우리는 그것을 할 수 있습니다 단지 클래스입니다. ControllerName objController=new ControllerName();
objController.methodName(parameters)
이 시도 - 우리는 직접 return RedirectToAction("MethodName", "ControllerName");
2.By 만드는 객체를 redirecting- 다음 ways- 1.By의 일부가 그것을 할 수 있습니다.
var ctrl= new MyController();
ctrl.ControllerContext = ControllerContext;
//call action
return ctrl.Action();
- 1. 컨트롤러에서 Daemon 메서드를 호출 할 수 있습니까?
- 2. 뷰가 다른 컨트롤러에서 생성 된 경우 컨트롤러에서 메서드를 호출 할 수 있습니까?
- 3. 다른 컨트롤러에서 컨트롤러의 변수에 액세스
- 4. 어떻게 생성 된 컨트롤러에서 기본 컨트롤러의 인덱스 동작을 호출 할 수 있습니까? 아니면 컨트롤러에서 인덱스 뷰를 렌더링 할 수 있습니까?
- 5. ASP.NET MVC의 컨트롤러에서 사용자 지정 특성을 변경할 수 있습니까?
- 6. 다른 컨트롤러에서 작업 호출
- 7. CI 다른 컨트롤러에서 다른 컨트롤러의 기능 빌리기
- 8. 변수를 사용하여 메서드를 호출 할 수 있습니까?
- 9. 다른 컨트롤러에서 작업 호출
- 10. finalizer는 다른 관리되는 클래스의 메서드를 호출 할 수 있습니까?
- 11. 다른 메서드 내에서 정적 메서드를 호출 할 수 있습니까?
- 12. 다른 창 컨텍스트에서 Javascript 메서드를 호출 할 수 있습니까?
- 13. 클래스의 main() 메서드를 java의 다른 클래스에서 호출 할 수 있습니까
- 14. 다른 스레드에서 잠긴 개체의 메서드를 호출 할 수 있습니까?
- 15. 어떻게 다른 파일에서 뷰 메서드를 호출 할 수 있습니까?
- 16. mvc3 컨트롤러에서 javascript 메서드를 호출 하시겠습니까?
- 17. UIResponderStandardEditActions에서 select 메서드를 호출 할 수 있습니까?
- 18. ASP.NET MVC의 기본 컨트롤러에서 일반 코드를 연결하는 방법
- 19. 모든 작업에서 ASP.NET-MVC의 ActionFilter를 적용 할 수 있습니까?
- 20. Asp.net MVC의 적절한 구조는 무엇입니까?
- 21. .NET MVC 다른 컨트롤러에서 메서드 호출
- 22. 컨트롤러에서 버튼을 비활성화 할 수 있습니까? - mvc
- 23. ASP.NET MVC 컨트롤러의 HandleUnknownAction()을 어떻게 테스트 할 수 있습니까?
- 24. PHP __destruct() 메서드를 호출 할 수 있다고 믿을 수 있습니까?
- 25. ASP.NET MVC의 global.asax에서 Application_Error 메서드를 사용해야합니까?
- 26. ASP.Net MVC - 한 컨트롤러에서 다른 컨트롤러로 게시
- 27. 도움, 다른 클래스의 메서드를 호출 할 수 없습니다
- 28. 코드에서 ASP.NET RegSQL을 호출 할 수 있습니까?
- 29. 키 입력시 어떻게 메서드를 호출 할 수 있습니까?
- 30. 하나의 js 파일을 다른 파일에서 호출 할 수 있습니까?
예, "OtherMethod"에서 List를 반환하고 싶습니까? var result = RedirectToAction은 List를 전달하지 않습니다 ... – eMi