MapRoute с универсальным контроллером - PullRequest
1 голос
/ 26 февраля 2010

Можно ли отобразить маршрут с помощью MapRoute и указать универсальный контроллер, например,

        context.MapRoute(
            "Dashboard_Edit", // Route name
            "dashboard/edit/{*pagePath}",
            new { controller = "Dashboard`1", action = "edit", pagePath = "home" }
            );

1 Ответ

0 голосов
/ 27 февраля 2010

К сожалению, это не разрешено с фабрикой контроллера по умолчанию. Тип "Dashboard`1" предназначен для открытого универсального типа и не может быть создан. Другими словами, для фабрики контроллеров по умолчанию единственными допустимыми значениями для «контроллера» являются те, которые могут соответствовать следующему псевдосинтаксису:

IController c = new SomeControllerType();

SomeControllerType должен быть действительным (хотя без суффикса "Controller" или пространства имен) и иметь конструктор без параметров.

Вы всегда можете написать собственную фабрику контроллеров, которая обладает более продвинутой функциональностью и понимает, как создавать универсальные типы.

...