我试图通过扩展现有控件来避免复合控件或使用和 ASCX。但是,我无法将控件添加到继承的控件并保持其视图状态/回发完整性。每当我在预渲染期间添加控件时,控件都会显示,但回发会引发视图状态异常。我尝试在那里和 LoadViewState 期间添加它们(这当然是一个长期的愚蠢)。Init 在我扩展的控件中不可用。
异常是 Sys.WebForms.PageRequestManagerServerErrorException:无法加载视图状态。正在加载视图状态的控制树必须与在先前请求期间用于保存视图状态的控制树匹配。例如,动态添加控件时,回发期间添加的控件必须与初始请求期间添加的控件的类型和位置相匹配