私は MVC ASP.NET を初めて使用し、別のコントローラーのアクションであるコントローラーからアクションを呼び出す必要がありました。そこでコントローラーのオブジェクトを作成し、以下のように必要なアクションを呼び出しました。
controllerOne co = new controllerOne();
co.requiredFunction();
しかし、先輩の 1 人が、このアプローチを使用しないようにアドバイスしてくれました。これは、MVC パターンを強制終了し、指定された関数を使用して ActionInvoker.InvokeAction()
他のコントローラーの関数を呼び出し、現在は以下のように使用しています。
public class HomeController : Controller
{
this.ActionInvoker.InvokeAction(new System.Web.Mvc.ControllerContext(
this.ControllerContext.RequestContext, new controllerOne()),
"requiredAction");
}
ActionInvoker.InvokeAction()
これは問題なく動作しますが、使用方法が正しいかどうかはわかりません。例を見つけるために検索しましたが、見つけることができました。
私の質問は次のとおりです。正しく使用していますか?