Okay, if I dynamically created a RadAjaxManager in a page's code-behind everything works fine. I followed the same technique as: http://www.telerik.com/community/forums/aspnet-ajax/ajax/nullreferenceexception-in-radajaxmanager-ajaxsettings-addajaxsetting.aspx
Then, I wanted to dynamically create the RadAjaxManager in a server control. So I added:
As you can imagine, I get the dreaded NullReferenceException.
Obviously, I don't want to require the end-user to add a RadAjaxManager to the page manually or in the parent page's OnInit. I want the control to be self-contained (i.e. adding the RadAjaxManager only when needed for the control).
How do I do this?
Thanks,
Joshua
Then, I wanted to dynamically create the RadAjaxManager in a server control. So I added:
| #region private properties |
| private RadAjaxManager _radAjaxManager = null; |
| #endregion |
| protected override void OnInit(EventArgs e) |
| { |
| RadScriptManager scriptManager = new RadScriptManager(); |
| Controls.Add(scriptManager); |
| RadAjaxManager radAjaxManager = new RadAjaxManager(); |
| radAjaxManager.ID = "radAjaxManager"; |
| _radAjaxManager = radAjaxManager; |
| Controls.Add(radAjaxManager); |
| base.OnInit(e); |
| scriptManager.Scripts.Add(new ScriptReference("Elevate.UI.Scripts.Search.js", "Elevate")); |
| } |
| protected override void CreateChildControls() |
| { |
| RadAjaxLoadingPanel radAjaxLoadingPanel = new RadAjaxLoadingPanel(); |
| radAjaxLoadingPanel.ID = "ajaxLoadingPanel"; |
| radAjaxLoadingPanel.Skin = "Default"; |
| Controls.Add(radAjaxLoadingPanel); |
| /* Child Controls Creation */ |
| _radAjaxManager.AjaxSettings.AddAjaxSetting(button1, simplePanel, radAjaxLoadingPanel); |
| _radAjaxManager.AjaxSettings.AddAjaxSetting(linkButton1, simplePanel, radAjaxLoadingPanel); |
| _radAjaxManager.AjaxSettings.AddAjaxSetting(lbMLS, simplePanel, radAjaxLoadingPanel); |
| } |
As you can imagine, I get the dreaded NullReferenceException.
Obviously, I don't want to require the end-user to add a RadAjaxManager to the page manually or in the parent page's OnInit. I want the control to be self-contained (i.e. adding the RadAjaxManager only when needed for the control).
How do I do this?
Thanks,
Joshua