我有一个UserControl,其中包含一个UpdatePanel,其中包含一些其他控件。UserControl将用于某些已经具有ScriptManager的页面和其他没有ScriptManager的页面。我希望UserControl自动带上自己的ScriptManager(如果不存在)。
我尝试了ScriptManager.GetCurrent,如果它返回null,则创建我自己的ScriptManager并将其插入到Form中,但是我在UserControl的生命周期中找不到足够的位置来运行此代码。我不断收到错误消息:“ ID为’uPnlContentList’的控件在页面上需要一个ScriptManager。该ScriptManager必须出现在需要它的任何控件之前。” 每次我尝试加载页面时。我尝试运行代码的地方是OnInit,CreateChildControls和PageLoad,它们从未被调用,因为它们在到达它们之前就死了。
我应该把这张支票放在哪里?
我讨厌朝另一个方向前进,但是您正在使用母版页吗?如果是这样,您是否考虑过在其上放置单个ScriptManager并完成此操作?