Если это код, который используется всеми тремя страницами ASP.NET, а не другим кодом, базовый класс - хорошая идея.
Код не подвергается воздействию «внешнего мира» (делая методы защищенными), и вы определяете контекст, в котором должны использоваться методы.Они могут быть вызваны только со страницы ASPX, которая определяет наследование через определенный базовый тип, в котором методы имеют смысл.Метод Helper можно вызывать из любого места в вашем коде, просто передавая правильные параметры, даже если это концептуально неверно.
Если это код, который будет вызываться из разных мест (например, функция ValidateEmail),может помочь статический вспомогательный класс.
Но если вы выберете вспомогательный класс, вам все равно придется решить, сколько вспомогательных классов вы собираетесь создать.Сброс всех ваших вспомогательных функций в один класс, вероятно, не очень хорошая идея с точки зрения обслуживания.