This error is a pesky one. You will most likely encounter it when you’re trying to dynamically load an UpdatePanel within an itemTemplate in a datagrid, or some similar control with dynamically created items. In my case: in a datagrid, and specifically within an item template in that grid.
Here is the solution that has worked for me:
1) Hook into the Unload event of the updatepanel like so (in ASPX or ASCX file):
<asp:UpdatePanel runat="server" ID="updatePanel" OnUnload="updatePanel_Unload"> <ContentTemplate> </ContentTemplate> </asp:UpdatePanel>
2) Now in your code behind, use this implementation of Unload.
(*You will need a reference to System.Linq and System.Reflection if you don’t already have one)
protected void updatePanel_Unload(object sender, EventArgs e) { /* Cast sender as an updatePanel, and use reflection to invoke * * the page's scriptmanger registerUpdatePanel() method * * */
UpdatePanel aUpdatePanel = sender as UpdatePanel; MethodInfo m =( from methods in typeof(ScriptManager).GetMethods( BindingFlags.NonPublic | BindingFlags.Instance ) where methods.Name.Equals("System.Web.UI.IScriptManagerInternal.RegisterUpdatePanel") select methods).First<MethodInfo>(); m.Invoke(ScriptManager.GetCurrent(aUpdatePanel.Page), new object[] { aUpdatePanel }); }
Executing the reflection code to invoke the scriptManager’s registerUpdatePanel() method should fix your problem and you’re off and running again!
Thank you very much. It fixed my issue. Amazing!!!
This is the only solution that has worked for me. Thank you!
Thank you, works like magic
What is aUpdatePanel?
Is that UpdatePanel ID?
In the above example I see ID=”updatePanel”.
Should it be updatepanel instead of aUpdatePanel?
Can you please clear my doubt?
Mine is still refreshing.
Hello Ramya,
aUpdatePanel is actually from this line:
UpdatePanel aUpdatePanel = sender as UpdatePanel;
. The sender object is being cast to an updatePanel and then used.When you say it is “still refreshing”, are you seeing any type of error? I’m wondering if this post is not what you’re looking for? This is for correcting issues around several updatepanels being dynamically added to a page.
thank you so much my friend! I was almost going crazy!! ;)
This fix works well just that sometimes it gives an index out of range error. anyone encountered