-3

静的関数があり、パラメーターを使用して特定のコントローラー/アクションを呼び出し、結果を取得する必要があります。これはどのように行うことができますか?

4

1 に答える 1

2

その特定のコントローラーのインスタンスを作成してから、インスタンスのExecute()メソッドを使用してコントローラーを実行できます。

Application_Errorハンドラーで同様のことを行います。

var routeData = new RouteData();
routeData.Values["controller"] = "Error";
routeData.Values["action"] = "General";
routeData.Values["exception"] = exception;

IController errorsController = new ErrorController();
var rc = new RequestContext(new HttpContextWrapper(Context), routeData);
try
{
    errorsController.Execute(rc);
}
catch (Exception ex)
{
    // Appropriate error handling.
}
于 2013-02-05T22:25:13.910 に答える