Можно ли использовать средство вызова настраиваемого действия без необходимости его создания на фабрике обработчиков контроллеров? Например, на фабрике пользовательских контроллеров:
IController IControllerFactory.CreateController(RequestContext reqContext, string controllerName)
{
var controller = base.CreateCOntroller(reqContext,controllerName ) as Controller;
controller.ActionInvoker = new CustomActionInvoker();
}
Или есть другой способ выполнить действие MVC без необходимости использовать пользовательское действие?
Обновление вопроса
У меня есть контроллер, скажем HomeController
и Index
action. 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() { ... }
Теперь я хочу отфильтровать некоторые из этих действий, чтобы они не выполнялись в зависимости от определенных сценариев. Например, я хочу прекратить выполнение AjaxAction1
, когда id
равно 2.
Вернуться к моему первоначальному вопросу. Есть ли способ добиться этого без использования действия invoker. Причина, по которой я не хочу использовать action invoker, заключается в том, что структурированный проект заканчивался циклическими ссылками.
Любые идеи с благодарностью.