+1-888-365-2779
Try Now
More in this section
Categories
Bloggers
Blogs RSS feed

Using Update Panel in sitefinity

by Teodor Georgiev

If you try to use the update panel in Sitefinity and check Include Script Manager setting in page properties you will run into a little problem. Apparently, the update panel control expect to have registered a script manager on the page during the execution of OnInit method.  This is a little problem because there is no way to know if there is a script manager added on the page's markup before OnInit method unless you search all the hierarchy of the controls on this page. As you can imagine this could slow down the page request execution.  One of the possible solutions could be modifying a little the Update panel like this :

 

public class SitefinityUpdatePanel : UpdatePanel
   {
 
       protected override void OnInit(EventArgs e)
       {
           this.Page.InitComplete += new EventHandler(Page_InitComplete);
            
       }
 
       void Page_InitComplete(object sender, EventArgs e)
       {
           base.OnInit(e);
       }
   }
 

 Then all you need is to replace update panel usages with the new one and all should work like a charm.

 

2 comments

Leave a comment
  1. iVillageIdiot Mar 22, 2012
    I must be dense, but I can't instantiate a SitefinityUpdatePanel within a user control for use in a Sitefinity 5 website. How do I 'update panel usages with the new one'?
  2. Pete Jun 20, 2012
    You saved my life!!! This works for RadAjaxPanel too.

    public class CustomRadAjaxPanel : RadAjaxPanel
    {
        protected override void OnInit(EventArgs e)
        {
            this.Page.InitComplete += new EventHandler(Page_InitComplete);
        }
        void Page_InitComplete(object sender, EventArgs e)
        {
            base.OnInit(e);
        }
    }

    Then either place this in your App_Code folder OR register it in your User Control as: 

    <%@ Register TagPrefix="cust" Namespace="SitefinityWebApp.Controls" Assembly="SitefinityWebApp" %>

    and use it as 
    <cust:CustomRadAjaxPanel ID="thePanel" runat="server" OnAjaxRequest="thePanel_AjaxRequest"
        ClientEvents-OnResponseEnd="OnResponseEnd" ClientEvents-OnRequestStart="OnRequestStart">
    ...
    </cust:CustomRadAjaxPanel>

    Leave a comment