-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 回答