我正在创建同一页面的两个版本。所以我想创建一个共同的祖先,但我需要从该代码中访问一些控件,所以最好的方法是在共享的 Designer.cs 文件中拥有一组公共控件,但 ASP.Net 将重新创建那些对于每个页面(由于公理化),只要它到达 aspx 文件上具有相同 ID 的 asp 标签。有没有办法做到这一点?
示例(代码看起来很相似):
common.cs
partial class CommonClass [...]
Function X
Do something with MyRepeater
common.designer.cs(或其他文件名)
partial class CommonClass
protected global::System.Web.UI.WebControls.Repeater MyRepeater;
page1.cs
Page1 : CommonClass
page1.aspx
[...]
<asp:Repeater ID="MyRepeater" runat="server" [...]
page2.cs
Page2 : CommonClass
page2.aspx
[...]
<asp:Repeater ID="MyRepeater" runat="server" [...]
编辑: page1 和 page2 允许用户查看表格并更改其内容(还有其他几个控件)。page1 使用一组对象填充表格。page2 使用一组完全不同的对象填充表格。然而 page1 和 page2 填充数据的方式是相同的(3 个中间表是从一组对象构造的),而且非常复杂。由于它相同(并且非常复杂),我希望填充逻辑位于一个公共文件中,但由于该填充逻辑依赖于一些转发器,因此我也需要在公共页面中定义这些转发器。