我有一个抽象的 BasePage 类,每个 Page 类都继承自该类。除了核心功能之外,我希望 BasePage 涵盖几乎所有派生类都实现的重复性任务。然而,要做到这一点,BasePage 类必须保留对在派生类中定义的控件(下拉列表、网格视图、菜单...)的引用。
我的问题是将派生 Page 类中定义的控件引用传递给父类的最佳方法是什么?
以下都没有真正提供“最佳”解决方案:
用于声明变量的基页,其名称与派生类上控件的 Id 相同。这会强制 ASP.NET 设计器不要在派生类上重新创建控件。(我不喜欢这样,因为派生类被迫知道并使用硬编码名称)
创建抽象属性并强制派生类返回控件引用(CON:在某些情况下,派生类可能不包含此类控件)
将控件作为函数调用参数传递(CON:仍然需要重复的函数调用代码。函数本身甚至不必在 BasePage 上)