How to "Ajaxify" Radmenu

13 posts, 1 answers
  1. Bob
    Bob avatar
    27 posts
    Member since:
    May 2007

    Posted 26 Sep 2008 Link to this post

    Hi,

    I just converted my Telerik controls from the classic ASP.NET controls to the ASP.NET Ajax controls.  My question is how do I 'Ajaxify' a Radmenu control.  Previously the menu which is contained on an ASP master page did not flash when selecting from the menu.  Now it does using after upgrading my web app to .NET 3.5 and the new controls.

    I guess maybe the question that also needs to be asked or covers this is how do I "Ajaxify" my web project that was previously created before upgrading to the latest ASP.NET Ajax controls.

    Thanks in  advance.

    Bob
  2. Peter
    Admin
    Peter avatar
    6637 posts

    Posted 26 Sep 2008 Link to this post

    Hi Bob,

    I suggest you review the RadAjax online examples. Also, there are a couple of RadMenu examples which show integration with RadAjax:  Related menus and AJAX-enabled context menu.

    Feel free to contact us if you need further help.

    Greetings,
    Peter
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  3. UI for ASP.NET Ajax is Ready for VS 2017
  4. Bob
    Bob avatar
    27 posts
    Member since:
    May 2007

    Posted 26 Sep 2008 Link to this post

    Peter,

    Thanks for your reply but I still don't know how to "Ajaxify" my web app.  Let me explain a little further. 

    I had an ASP.NET 2.0 web application that uses a single master page on all the web forms in the app.  On this master page was simply a header table with some labels and a RadMenu below it.  The menu was used to navigate to all the different forms in the app.  When running this app, and selecting a menu item in the .NET 2.0 version, the master page items never "flashed".  They always stayed on the form.  This gave a nice effect in the app.

    After converting the app to .NET 3.5 and the new RadMenu control from ASP.NET Ajax, this effect no longer happens.  The entire page flashes each time a new menu item is chosen for a new web form.

    Furthermore, whenever sorting any form that has a RadGrid, the entire page flashes as well on the .NET 3.5 app and never did in the .NET 2.0 app.

    So I have two questions:

    First, can I add an Ajax control on the master page so that all my forms that have this master page will not flash (if so what control do I use, RadAjaxManager, RadAjaxPanel?)

    Second, what Ajax control(s) do I add to the forms with the RadGrid?

    Thanks in advance.

    Bob
  5. Bob
    Bob avatar
    27 posts
    Member since:
    May 2007

    Posted 26 Sep 2008 Link to this post

    Peter,

    I wanted to add another point here related to Ajax.  My new upgraded web app had one page that had an Ajax Manager control that is working correctly when I debug.  However, when I access the smart tag on the Ajax Manager control and click configure Ajax control, there are no controls listed in the dialog.  Furthermore, whenever I add an AjaxManager to any other form, the same behavior exists in that no controls are populated when I attempt to configure the Ajax control.

    Maybe this additional information gives you more background to help with this matter.

    Thanks.
  6. Peter
    Admin
    Peter avatar
    6637 posts

    Posted 02 Oct 2008 Link to this post

    Hello Bob,

    Regarding your question on master pages and ajax, the easiest way to ajaxify content pages is to wrap the ContentPlaceHolder of the MasterPage in a RadAjaxPanel:

     <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server">  
                <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">  
                </asp:ContentPlaceHolder> 
            </telerik:RadAjaxPanel> 

    Attached is a simple demo project for reference.

    This way you can ajaxify not only RadMenu but any other server control.

    About the last problem you describe, we are not sure why it occurs at your side. If you can isolate the problem in a simple demo project and send it to us, that would be quite helpful to determine what causes it.



    Kind regards,
    Peter
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  7. Bob
    Bob avatar
    27 posts
    Member since:
    May 2007

    Posted 02 Oct 2008 Link to this post

    Hi Peter,

    First, let's not worry about the situation with the Ajax Manager not showing the controls.  I believe that it may have to do with the fact that this code is from the classic RadControls.  I will look into this further myself.

    As far as your suggestion for adding the RadPanel to the master page, that definitely works, I believe it limits my ablilty to add Ajax Manager on content pages.  It also causes an error on pages that have a Response.Redirect command.  I am looking into this now.  If you know why this is happening please let me know.

    Lastly, I need to have controls 'Ajaxified' on multiple web forms and the documentation suggests that I would need RadAjaxManager for this.  My question is should I add a RadAjaxManger to the master page and then use the AjaxProxyManager for the controls within the content page.  Or should I just abandon the AjaxManager on the master page and just use AjaxManager on each web form that needs it.

    Thanks in advance.
  8. Bob
    Bob avatar
    27 posts
    Member since:
    May 2007

    Posted 02 Oct 2008 Link to this post

    Peter,

    Following up on the issue with the controls not showing up on the Configuration of a RadAjaxManager, it appears that this is the case with a web page that has a master page built in. 

    To confirm this, I took the project that you zipped to me and added a RadAjax manager to the form (WebForm1).  I added a couple of controls and when I tried to configure the radAjaxManager through the smart tag, no controls are listed on the ensuing dialog.  To further confirm, I created a new webform using the master page you created, added the RadAjaxManager and a couple of controls and got the same result.

    However, when I added a new web form without using a master page, I was able to configure the AjaxManager.  This leads me to believe that the issue I am having with my current web project that has functioning Ajax Manager controls during runtime, but cannot be configured using the smart tag.

    Please confirm that you get the same behavior and if so is this a bug or is there a workaround.

    Thanks.
  9. Iana Tsolova
    Admin
    Iana Tsolova avatar
    3388 posts

    Posted 03 Oct 2008 Link to this post

    Hi Bob,

    Regarding the problem with the mising controls in the AjaxManagerProperty builder, please review this blog post. If you upgrade your Visual Studio 2008 and .NET Framework to SP1, the issue won't persists.

    Now back to ajaxifying:
    First of all I suggest that you review this help topic which is very useful when migrating from RadAjax for ASP.NET to RadAjax for ASP.NET AJAX.

    Note that with the RadAjax, you may have only one RadAjaxManager per page. So if your RadAjaxManager is in your master I suggest that you use RadAjaxManagerProxy controls in your content pages. The following topics describe further details about RadAjax in Master/Content page scenarios:

    http://www.telerik.com/help/aspnet-ajax/ajxajaxmasterpage.html
    http://www.telerik.com/help/aspnet-ajax/ajax-manager-proxy.html
    http://www.telerik.com/help/aspnet-ajax/ajxredirectingtoanotherpage.html

    Let us know if this helps and if you need further directions.

    All the best,
    Iana
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  10. Bob
    Bob avatar
    27 posts
    Member since:
    May 2007

    Posted 03 Oct 2008 Link to this post

    Iana,

    OK, we're almost there.  I updated VS2008 to SP1.  That solved the problem with the configuration dialog to display the controls.

    Second, I added a RadAjaxPanel to my Master Page and configured it.  This does "ajaxify" all of my pages.  I also changed the existing web forms that had AjaxManagers on them to be RadAjaxManagerProxy controls and this is working.

    The final issues is with all of my pages that have a Response.Redirect() command.  Anytime issuing this causes an error.  Here is the error:

    Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.
    Details: Error parsing near '
    <!DOCTYPE html PUB'.

    I followed the directions for issuing the following command to replace the Response.Redirect command:

    RadAjaxManager

    .GetCurrent(Page).Redirect("page1.aspx");


    This causes an error as the object has not been initialized.  Please advise as to what I am missing here.

    Thanks again.
  11. Iana Tsolova
    Admin
    Iana Tsolova avatar
    3388 posts

    Posted 06 Oct 2008 Link to this post

    Hi Bob,

    If you have placed RadAjaxPanel in the master page to update all page content, then you do not need RadAjaxManagerProxy controls in the content pages. Also in this case try redirecting as follows:

    RadAjaxPanel1.Redirect("page1.aspx");  
     

    In case you have placed RadAjaxManager in the master page and RadAjaxManagerProxy controls in the content page, you should not update the whole page content from the master page, but just the necessary controls situated in the master page. And the RadAjaxManagerProxy is to update controls in a certain content page.

    The error you receive might be because you are calling the Response.Write() method in your pages, or you have calls to response filters,  HttpModules, or enabled tracing.

    Check it out and let me know how it goes.
     
    Greetings,
    Iana
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  12. Bob
    Bob avatar
    27 posts
    Member since:
    May 2007

    Posted 06 Oct 2008 Link to this post

    Iana,

    Here is what I got from your last reply.  If I put a RadAjaxManager in my master page, I still need to put a RadAjaxManagerProxy on each content page to make Ajax work.  If this is the case, then I see no benefit or reason to putting a RadAjaxManager on a master page as I would just put the AjaxManager on each content page that needs it.  This holds up as I have tried this and putting the RadAjaxManager on my master page does not cause any errors when redirecting, etc. but it also has no Ajax effect.

    As far as the RadAjaxPanel is concerned, putting this on the master page does provide the Ajax effect on my forms that have RadGrids, but it causes errors every time I issue a Response.Redirect command.  Your recommendation is to use the RadAjaxPanel1.Redirect command, however, this command is not available on the content page.  Do I need to instantiate something from the content page to access the master page object?
  13. Answer
    Iana Tsolova
    Admin
    Iana Tsolova avatar
    3388 posts

    Posted 06 Oct 2008 Link to this post

    Hi Bob,

    Yes, in the content page try finding the RadAjaxPanel of the master page.

    RadAjaxPanel ajaxPanel = Master.FindControl("RadAjaxPanel1"as RadAjaxPanel; 

    Let me know if this helps.
     
    Greetings,
    Iana
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  14. Bob
    Bob avatar
    27 posts
    Member since:
    May 2007

    Posted 06 Oct 2008 Link to this post

    Iana,

    Thanks for the answer on instantiating the AjaxPanel object.  Unfortunately, I have many Response.Redirect statements that can be updated but I am using a framework that has other built in Response.Redirect statements that I can't access.  In order to bypass these I will have to re-write more code to handle this, which might not be worth it.

    For now, I will close this thread.

    Thanks again for your help.

    Bob
Back to Top
UI for ASP.NET Ajax is Ready for VS 2017