I created a server control where I embedded some JavaScript files. This works fine, but when the server control is placed in the ajax UpdatePanel, it stops working after the asynchronous postback starts in the update panel.
Here is my code in the server:
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); ClientScriptManager clientScriptManager = Page.ClientScript; const string DATE_TIME_PICKER_JS = "JQueryControls.Scripts.DateTimePicker.js"; clientScriptManager.RegisterClientScriptResource(typeof(DateTimePicker), DATE_TIME_PICKER_JS); if (Ajax.IsControlInsideUpdatePanel(this) && Ajax.IsInAsyncPostBack(Page)) { Ajax.RegisterClientScriptResource(Page, typeof(DateTimePicker), DATE_TIME_PICKER_JS); } }
Ajax is the class from this link .
If this code is executed in async postback:
public static void RegisterClientScriptResource(Page page, Type type, string resourceName) { object scriptManager = FindScriptManager(page); if (scriptManager != null) { System.Type smClass = GetScriptManagerType(scriptManager); if (smClass != null) { Object[] args = new Object[] { page, type, resourceName }; smClass.InvokeMember("RegisterClientScriptResource", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.InvokeMethod, null, null, args); } } }
Any ideas on how to make this work in UpdatePanel?
source share