This is a migrated thread and some comments may be shown as answers.

[Solved] help about migration in ajax with splitter in master page

11 Answers 186 Views
Ajax
This is a migrated thread and some comments may be shown as answers.
Chuanbo
Top achievements
Rank 1
Chuanbo asked on 24 Feb 2008, 06:49 AM
We have beening using the RadAjax with Splitter in master page and it works fine.
but when we migrate to Prometheus Q3 sp1, the ajax doenst work anymore.

our requirement is as follow:
1.the toolbar in page header could ajaxify content and application messages
2. the content could ajaxify the application messages.
3. should use Master Page

I prepare a small demo but it will not working now, i could not find problem, could anyone help me. thanks so much

<%@ Page Language="C#" EnableTheming="false"%> 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
<script runat="server">  
 
</script> 
 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server">  
    <title>Untitled Page</title> 
</head> 
<body> 
    <form id="form1" runat="server">  
        <asp:PlaceHolder ID="phdManager" runat="server"></asp:PlaceHolder> 
        <asp:ScriptManager ID="ScriptManager" runat="server" /> 
        <telerik:RadAjaxManager ID="ramMain" runat="server">              
            <AjaxSettings> 
                <telerik:AjaxSetting AjaxControlID="pnlPageHeader">  
                    <UpdatedControls> 
                        <telerik:AjaxUpdatedControl ControlID="pnlApplicationMessage" /> 
                        <telerik:AjaxUpdatedControl ControlID="pnlMainContent" /> 
                    </UpdatedControls> 
                </telerik:AjaxSetting> 
                <telerik:AjaxSetting AjaxControlID="pnlMainContent">  
                    <UpdatedControls> 
                        <telerik:AjaxUpdatedControl ControlID="pnlApplicationMessage" /> 
                    </UpdatedControls> 
                </telerik:AjaxSetting> 
            </AjaxSettings> 
        </telerik:RadAjaxManager> 
        <telerik:RadWindowManager ID="RadWindowManager1" runat="server" Height="210px" Modal="True" 
            Width="400px">  
        </telerik:RadWindowManager> 
        <telerik:RadSplitter ID="rstPage" runat="server" Height="100%" Width="100%" Orientation="Horizontal" FullScreenMode="true">  
            <telerik:RadPane ID="RadMenu" runat="server" Width="100%" Height="35px">  
                <asp:Panel ID="pnlPageHeader" runat="server">  
                    <div id="pageHeader" style="width: 100%;">  
                        <asp:Button ID="Button2" runat="server" Text="Button" />Top Menu:<%=DateTime.Now.ToLongTimeString() + " " + DateTime.Now.Millisecond %> 
                    </div> 
                </asp:Panel> 
            </telerik:RadPane> 
            <telerik:RadPane ID="RadContent" runat="server" Scrolling="None" Height="100%" Width="100%">  
                <telerik:RadSplitter ID="RadSplitter1" runat="server" Width="100%" Height="100%" Orientation="Vertical">  
                    <telerik:RadPane ID="rpnLeft" runat="server" Height="100%" Width="200px" Scrolling="none">  
                          
                        <asp:Panel ID="pnlApplicationMessage" runat="server" Height="200px">  
                        AppMessages:<%=DateTime.Now.ToLongTimeString() + " " + DateTime.Now.Millisecond %> 
                        </asp:Panel> 
                    </telerik:RadPane>                      
                    <telerik:RadSplitBar ID="Radsplitbar1" runat="server" CollapseMode="Forward" Height="100%">  
                    </telerik:RadSplitBar> 
                    <telerik:RadPane ID="rpnContent" runat="server" Height="100%">  
                         <asp:Panel ID="pnlMainContent" runat="server">  
                             <asp:Button ID="Button3" runat="server" Text="Button" />MainContent:<%=DateTime.Now.ToLongTimeString() + " " + DateTime.Now.Millisecond %> 
                        </asp:Panel> 
                    </telerik:RadPane> 
                </telerik:RadSplitter> 
            </telerik:RadPane> 
            <telerik:RadPane ID="rpnFooter" runat="server" Height="30px" Width="100%">  
                Footer  
            </telerik:RadPane> 
        </telerik:RadSplitter> 
        <asp:Button ID="Button1" runat="server" Text="Button" /> 
    </form> 
</body> 
</html> 
 

11 Answers, 1 is accepted

Sort by
0
Maria Ilieva
Telerik team
answered on 26 Feb 2008, 12:43 PM
Hi Chuanbo,

I tested the provided code and was able to replicate the problem.
Actually this is a known limitation of the MS AJAX framework - you cannot ajaxify container controls. Controls applicable for ajaxification must implement either INamingContainer, IPostBackDataHandler, or IPostBackEventHandler. More info is available in our Prometheus help in the "Current Limitations" article.

Regards,
Maria Ilieva
the Telerik team

Instantly find answers to your questions at the new Telerik Support Center
0
Chuanbo
Top achievements
Rank 1
answered on 28 Feb 2008, 04:17 AM
Hi,Maria Ilieva:

as I said, this problem is introduced when we upgrate from telerik asp.net to telerik prometheus version. it works fine by the previous telerik 2007 Q3.

but when we upgrade it can not work anymore. We're using telerik prometheus in product enviremont and the product will be released soon, but this problem is the one that one can not solve and may postpone our product shipment.

It's really urgent now.  thanks
0
Maria Ilieva
Telerik team
answered on 28 Feb 2008, 11:21 AM
Hello Chuanbo,

The Classic RadAjax control is our own implementation and the Prometheus RadAjax is based on MS Ajax, where this limitation occured. We really understand the urgency of this matter and will do our best to find a workaround to it for the forthcoming release of RadControls.

Thank you for the understanding.

All the best,
Maria Ilieva
the Telerik team

Instantly find answers to your questions at the new Telerik Support Center
0
Chuanbo
Top achievements
Rank 1
answered on 04 Mar 2008, 11:17 AM
Hi,
did you find any workaround for this?
Any suggestion would be appriaciated
0
Steve
Telerik team
answered on 04 Mar 2008, 12:49 PM
Hello Chuanbo,

The SP2 release was released on 25th of February, so the forthcoming release my colleague meant is the official Q1 release in April. This is limitation coming straight from the framework our control is based on, so we cannot guarantee that we would be able to make this work. Our suggestion would be to change your logic to work without depending on asp:Panel updates, as this is how MS AJAX works.

Regards,
Steve
the Telerik team

Instantly find answers to your questions at the new Telerik Support Center
0
Chuanbo
Top achievements
Rank 1
answered on 04 Mar 2008, 01:20 PM
Hi,Steve:

thanks for your reply, our requirement is as follow:
1.the toolbar in page header could ajaxify content and application messages
2. the content could ajaxify the application messages.
3. should use Master Page and content page.

I think this is a very common requirement in asp.net, could you give more detail suggestion on this?

thanks
Chuanbo
0
Steve
Telerik team
answered on 05 Mar 2008, 09:04 AM
Hello Chuanbo,

Yes indeed this is a very common scenario and still it cannot be handled the way you want with dynamically created update panels using asp:Panels as initiators. You can follow the suggestions outlines in our help here:
Hope these help.

Greetings,
Steve
the Telerik team

Instantly find answers to your questions at the new Telerik Support Center
0
Chuanbo
Top achievements
Rank 1
answered on 15 Mar 2008, 11:24 AM
Hi, Steve

thanks for your reply, but could you tell more clear?
We're not using "dynamically created update panels using asp:Panels as initiators", it's static in the above demo. and we dont care whether it is asp:Panel or other telerik control, but we want it to work in an ajax style instead of post back.

Our product will be released soon, before the end of this month, could you give more detail suggestion how to get workaround?

Is possible to do it by programme with AddAjaxSettings? I didnt understand which is the limitation of MS Ajax framework. I look at the link you give, but it's still didnt explain why this can not work.

hope you could help, many thanks

Chuanbo
0
Steve
Telerik team
answered on 17 Mar 2008, 08:40 AM
Hello Chuanbo,

Sorry for that - I will try to clarify my previous reply.
"dynamically created update panels using asp:Panels as initiators"
I've never said that you are doing this intentionally, but that is what happens behind the curtains with the Prometheus Ajax based on MS AJAX. For each ajax setting a dynamic UpdatePanel is created and MS UpdatePanels do not allow controls that do not implement either INamingContainer, IPostBackDataHandler, or IPostBackEventHandler to be used as ajax initiators. This is the limitation I meant.
Currently your only workaround would be to use AjaxSettings for each control separately. For example if you have 10 buttons - add them all as initiators instead of using the asp:Panel surrounding them.

Kind regards,
Steve
the Telerik team

Instantly find answers to your questions at the new Telerik Support Center
0
Chuanbo
Top achievements
Rank 1
answered on 22 Mar 2008, 02:06 AM
Hey Steve:

after several days trying, finally we decide to use the traditional version of telerik, telerik for asp.net. but since all of our page already migrate to the new prometheus version, so now we use a mixed mode : the ajax part we use the older version, all the others control use the new version.

it works as expected, except one prolem:A Control is Already Associated with the Element in IE

also see:

http://www.telerik.com/community/forums/thread/b311D-baehkt.aspx)
0
Steve
Telerik team
answered on 24 Mar 2008, 09:27 AM
Hello Chuanbo,

Do you have EnableOutSideScripts property of the Ajax controls set to true? If this does not help, what is the scenario causing the problem? Also providing the original page where you have problems with the Prometheus ajax and following our suggestion to set each controls separately for a more granular settings would be appreciated, so we can discuss the problems you've encountered.

Sincerely yours,
Steve
the Telerik team

Instantly find answers to your questions at the new Telerik Support Center
Tags
Ajax
Asked by
Chuanbo
Top achievements
Rank 1
Answers by
Maria Ilieva
Telerik team
Chuanbo
Top achievements
Rank 1
Steve
Telerik team
Share this question
or