是否可以使用自定义动作调用程序而不必在控制器处理程序工厂中实例化它?例如在自定义控制器工厂中:
IController IControllerFactory.CreateController(RequestContext reqContext, string controllerName)
{
var controller = base.CreateCOntroller(reqContext,controllerName ) as Controller;
controller.ActionInvoker = new CustomActionInvoker();
}
还是有另一种方法可以执行 MVC 操作而无需使用自定义操作调用程序?
更新问题
我有一个控制器,说HomeController
和Index
行动。Index
是控制器中的主要动作。一旦Index
动作被执行,MVC 视图将使用 Ajax - GET 请求(我们使用jTemplates)触发多个动作。
例子
// Controller actions
// main action and View
public ActionResult Index() { ... }
public ActionResult AjaxAction1(string id) { ... }
public ActionResult AjaxAction2() { ... }
public ActionResult AjaxAction3() { ... }
现在我想根据某些场景过滤其中一些不执行的操作。例如,我想在等于 2AjaxAction1
时停止执行。id
回到我原来的问题。有没有办法在不使用动作调用程序的情况下实现这一点。我不想使用动作调用程序的原因是我的项目结构最终以循环引用结束。
任何想法都非常感谢。