Проверьте файл T4MVC ProductsController.generated.cs для метода поиска(), который принимает нулевые параметры. Похоже, вы не найдете его там, но, как сказал Дэвид Эббо выше, он должен был быть создан в большинстве случаев. Это особенно странно, учитывая, что метод, который вы вставили здесь, украшен как виртуальный, что, вероятно, произошло в какой-то момент раньше, когда он был помечен T4MVC.
Для того, чтобы исправить ошибки, вы можете попытаться удалить файлы * .generated.cs и восстановить их, щелкнув правой кнопкой мыши файл T4MVC в VS IDE и выбрав «Запустить пользовательский инструмент».
Если метод zero-param все еще не сгенерирован, но другие, проверьте, что может быть необычным в вашем методе поиска. Возможно, вы делаете что-то неподдерживаемое T4MVC. Это случилось со мной сегодня для метода с возвратом строки. Мне пришлось либо использовать нулевой параметр взлома, либо вернуть ContentResult, согласно In MVC, how do I return a string result?, на который Дэвид любезно ссылался на T4MVC and Ajax method with parameter.
T4MVC всегда создает перегрузку, которая не принимает никаких параметров, поэтому я бы подумал, что ничего не прошло бы сработало бы. –