2017-12-06 7 views
0

クラスからコントローラメソッドを呼び出して、コントローラに要求を出さずにコントローラコンテキストを取得したいとします。それを行う方法は何か?クラスからコントローラメソッドを呼び出し、コントローラに要求を出さずにコントローラコンテキストを取得しますか?

コントローラクラスのオブジェクトを作成してメソッドを呼び出すことはできますが、コントローラのコンテキストを取得できません。

var controllerObj = new HomeController() 
controllerObj.methodA(); 

およびmethodAリクエストコンテキストは利用できません。

答えて

0

DependencyResolverを使用してクラス内のControllerのインスタンスを取得します。

public class Example 
{  
    public static void CallActionMethod() 
    { 
     var controller = DependencyResolver.Current.GetService<AboutController>(); 
     controller.ControllerContext = new ControllerContext(System.Web.HttpContext.Current 
     .Request.RequestContext, controller);  
     controller.Index();  
    } 
} 

Reference

+0

私はすでにそのように行っているが、あなたの答えが正解であるように、私はそれが正しいマーキングしています。 –

関連する問題