update trigger net ejemplo desde asp actualizar asp.net asp.net-ajax updatepanel

asp.net - trigger - ¿Qué causa el error ''No se puede cancelar el registro de UpdatePanel''?



update panel asp net ejemplo (8)

¿Estás moviendo controles en el código? Si es así, eche un vistazo aquí y vea si esto resuelve su problema.

Tengo un UserControl que contiene un UpdatePanel. Cuando lo pongo en una página, arroja el siguiente error:

No se puede anular el registro de UpdatePanel con ID ''ReviewContentUpdatePanel'' ya que no se ha registrado con ScriptManager. Esto podría ocurrir si se eliminó el UpdatePanel del árbol de control y luego se volvió a agregar, lo cual no es compatible. Nombre del parámetro: updatePanel

ReviewContentUpdatePanel es el nombre del panel de actualización y no se elimina ni se agrega en el código, existe en la página aspx y no se elimina. ¿Alguien ha encontrado esto antes?


En su marcado, asegúrese de haber especificado una ID tanto para UpdatePanels como para cada control runat = "server" en sus jerarquías principales.


Este error se produce cuando la colección de controles en la que reside el panel de actualización se borra mediante el método Clear o cuando se elimina el UpdatePanel específico mediante el método Remove .

Un desencadenante para estos métodos podría ser la implementación del método CreateChildControls para que el control contenga el UpdatePanel. Por lo general, usted llama a Controls.Clear () en la parte superior de este método, para comenzar con una borrón y cuenta nueva si este método se llama repetidamente.


Tuve esto suceder una vez antes. Para solucionarlo, simplemente lo eliminé y luego volví a crearlo y el problema desapareció.


¿Has intentado incluir un ScriptManagerProxy en el control de usuario?


Intente eliminar el scriptproxy de UserControl. En este caso, solo tiene un ScriptManager en su página.


Esta es una posibilidad remota, pero he tenido experiencias con las extensiones AJAX, específicamente con el panel de actualización, en el que los errores arrojados por los controles secundarios se manifestaban como un error diferente arrojado por el panel de actualización. Vi una referencia a este error específico que se produce debido a un error en un control secundario:

http://msmvps.com/blogs/shareblog/archive/2009/03/11/cannot-unregister-updatepanel-with-id-since-it-was-not-registered-with-the-scriptmanager-and-moss. aspx

No estoy seguro de si este es el caso para usted o no, pero he pasado muchas horas persiguiendo los errores incorrectos debido a esto.


Espero que esto ayude a otra persona, ya que me volvía loco. Después de encontrar varias cositas de información aquí y allá aquí y en otros lugares, finalmente se me ocurrió la siguiente solución. Tenga en cuenta que no estoy creando dinámicamente este panel de actualización aquí ni en ningún otro lado, y la mayor parte de la información estaba relacionada con la creación dinámica de este control, cosa que yo no era.

Estaba usando un panel de actualización dentro de un control de usuario web utilizado en una página heredada por una página maestra con el administrador de scripts. No sé si este combo fue lo que lo estaba causando, pero así es como lo arreglé (dentro del control de usuario web donde se utiliza el panel de actualización):

protected override void OnInit(EventArgs e) { ScriptManager sm = ScriptManager.GetCurrent(this.Page); 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(sm, new object[] { updatePanel }); base.OnInit(e); }