+1-888-365-2779
Try Now
More in this section

Forums / General Discussions / RadAjaxManager in Page Template

RadAjaxManager in Page Template

10 posts, 0 answered
  1. John Hunter
    John Hunter avatar
    4 posts
    Registered:
    07 Aug 2012
    23 Nov 2010
    Link to this post
    How do I add a RadAjaxManager to a SiteFinity template.  Do I have to create a physical masterpage file and add it there, or can it be done without adding my own masterpage file?  I would like for the RadAjaxManager to be available to my custom user control.
  2. Radoslav Georgiev
    Radoslav Georgiev avatar
    3370 posts
    Registered:
    01 Feb 2016
    24 Nov 2010
    Link to this post
    Hello John Hunter,

    Thank you for using our services.

    Currently there is only one way you can work with the RadAjaxManager control. You have to create a physical master page from which you will create a template. In the code file of this master page you have to override the OnInit method and add the AjaxManager if the page is not in edit mode. Sample markup bellow:

    <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="AjaxMaster.master.cs" Inherits="SitefinityWebApp.App_Master.AjaxMaster" %>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <head runat="server">
        <title></title>
    </head>
     
    <body>
        <form id="form1" runat="server">
        <telerik:RadScriptManager runat="server" ID="ScriptManager1"></telerik:RadScriptManager>
        <div>
            <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
            </asp:ContentPlaceHolder>
        </div>
        </form>
    </body>
    </html>

    code:
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        if (!this.IsDesignMode())
        {
            RadAjaxManager ajaxManager = new RadAjaxManager();
            //get the index of the script manager and add the ajax manager right after it
            int index = this.form1.Controls.IndexOf(ScriptManager1);
            this.form1.Controls.AddAt(index + 1, ajaxManager);
        }
    }

    Then you can use RadAjaxManagerProxy in your user control or directly get a reference of the control and set the Ajax settings:
    <telerik:RadAjaxManagerProxy runat="server" ID="ManagerProxy1">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="Panel1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="Panel1" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManagerProxy>
    <asp:Panel ID="Panel1" runat="server" HorizontalAlign="Center" Height="275px">
        <asp:Button ID="Button1" runat="server" Text="Click to see the loading image" OnClick="Button1_Click"
            Style="margin-top: 15px; margin-left: 15px" CssClass="qsfButtonBigger" />
    </asp:Panel>
    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Telerik">
    </telerik:RadAjaxLoadingPanel>

    code:
    public void Button1_Click(object sender, EventArgs e)
    {
        //simulate longer page load
        System.Threading.Thread.Sleep(2000);
    }

    You can also create AjaxSettings using code instead of using the proxy manager (done using OnInit event of the user control):
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        if (!this.IsDesignMode())
        {
            RadAjaxManager ajaxManager = RadAjaxManager.GetCurrent(this.Page);
            if (ajaxManager != null)
            {
                ajaxManager.AjaxSettings.AddAjaxSetting(Panel1, Panel1, RadAjaxLoadingPanel1);
            }
        }
    }

    Sincerely yours,
    Radoslav Georgiev
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  3. Stefano
    Stefano avatar
    29 posts
    Registered:
    14 Jun 2011
    05 Jul 2011
    Link to this post
    Hi,
    I tried to create the master page with your code and than the user control with RadAjaxManagerProxy but it didn't work...What I wrong?
  4. Boyan Barnev
    Boyan Barnev avatar
    1429 posts
    Registered:
    05 Dec 2016
    08 Jul 2011
    Link to this post
    Hello Stefano,

    Actually, we have used this sample form our ASP.NET Ajax Demos to isolate the provided example, do you mind taking a look at it and let us know whether following the steps described in the demo works for you? Looking forwards to your reply.

    Best wishes,
    Boyan Barnev
    the Telerik team
    Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  5. Stefano
    Stefano avatar
    29 posts
    Registered:
    14 Jun 2011
    12 Jul 2011
    Link to this post
    I attach my Code of Custom User Control and of my master Page. My ajaxPanel didn't work...What can I do?
  6. Stefano
    Stefano avatar
    29 posts
    Registered:
    14 Jun 2011
    14 Jul 2011
    Link to this post
    It is possible that with the trial versione of sitefinity ajax didn't work?
  7. Web master
    Web master avatar
    1 posts
    Registered:
    30 Jul 2011
    30 Jul 2011
    Link to this post
    your code is very helpfull for me if you have any other plz alwayes share with me i'm too much intersed to it........
    thank for your sharing..........

    Foam in Place

  8. Boyan Barnev
    Boyan Barnev avatar
    1429 posts
    Registered:
    05 Dec 2016
    02 Aug 2011
    Link to this post
    Hi Stefano,

    Can you please check whether you have EnableViewstate property checked from the page's title and properties, there should be no problems running Ajax controls with the trial version.

    Best wishes,
    Boyan Barnev
    the Telerik team
    Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  9. Shawn Krivjansky
    Shawn Krivjansky avatar
    18 posts
    Registered:
    11 Jan 2010
    01 Sep 2011
    Link to this post
    Stafano,
    Your "ajax" doesn't work because RadAjaxPanel does NOT work (as expected) in Sitefinity 4.x.  I have found it to do NOTHING.  I have been going around and around on this topic (in other forum posts and service tickets).  Telerik confirmed for me that it in fact does NOT work inside SF.  (Yes, it works in a normal website outside SF).

    You can get around it a little by using some other container (like ASP:PANEL) and then wire that up through RadAjaxManagerProxy for your AJAX.  RadAjaxManager (and proxy) DOES produce AJAX results.

    That is of course if you are NOT using a master page as a template.  I am getting GOOD AJAX results (from user controls...created from an external assembly) as long as I use a BLANK template (i.e. NOT from a master page).

    The minute I try to put that same User Control that works with partial post-back AJAX results on a BLANK template onto a template (with pretty much nothing on it) created from a MASTER PAGE, my user control produces FULL post-backs when it shouldn't (and doesn't on the BLANK template).

    I don't know what is going on with that part... been dealing with it for a week now and going back and forth with Telerik on it.
  10. Boyan Barnev
    Boyan Barnev avatar
    1429 posts
    Registered:
    05 Dec 2016
    03 Sep 2011
    Link to this post
    Hi Shawn Krivjansky,

    Indeed there is certainWe have explained the reasons behind the problemqatic behavior in the support thread you have opened. For Stefano's and the other community members who might be interested I'm pasting our reply below:

    "The RadAjaxPanel has a problem. It tries to look for a script manager too early in the page life cycle. Unless the script manager is added to a master page's markup, the RadAjaxPanel is not properly initialized. The problem is the same as the one described in this blog post."

    @Stefano, can you please try the solution outlined in the blogpost and let us know if any problems persist?

    Regards,
    Boyan Barnev
    the Telerik team

    Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>

10 posts, 0 answered