Мы не можем сказать вам, что вам нужно в вашем базовом контроллере, вы должны раскрывать подобные вещи, когда внедряете свои контроллеры и видите повторяющийся код. может быть, у вас должно быть 2 или более BaseControllers или 2-уровневая иерархия BaseControllers.
Я даю вам два совета, которые у меня всегда есть в моем BaseController:
- супер-полезный вспомогательный метод для привязки интерфейсной модели:
protected T Bind<T, U>()
where T : U, new()
where U : class
{
T model = new T();
TryUpdateModel<U>(model);
return model;
}
Затем вы можете иметь несколько «наборов» свойств, которые вы хотите связать в различных сценариях, реализованных в виде интерфейсов, и простая модель привязывает ваш объект (даже существующий объект из БД) к входящим значениям.
2.Если вы используете пользовательские AcionResults (может быть, ваши конкретные сборщики Json и т. Д.), Создайте свои «ярлыки» методов в BaseController. То же, что и метод View (), является ярлыком для возврата нового ViewResult (...)