I have 5 scenarios. UpdatePanel, AjaxManager_P, AjaxPanel_P, AjaxPanel_Old, AjaxManager_Old. Browser used in these examples if FF 2.0.0.4. Cache cleared on each refresh.
Each scenario is one in which there is an anchor, a tooltip, and an item which causes postback. In the cases of the panels, all three are contained in the panel. In the case of the Managers, the updated controls are the ToolTips, the initiators are the postback buttons.
UpdatePanel:
First Ajax-Postback works. Second Ajax-Postback returns an alert: "Invalid JSON Primitive ."
Prometheus Panel
On update, the toolTip no longer attached to element. On second update, receive JSON alert as before.
AjaxPanel (old)
First ajax-postback works, tooltip still attached. Onthe second update, a Server Error occurs displaying the same text that the alert displayed earlier.
Prometheus AjaxManager
First Postback works, Tooltip Opens, Second postback causes "Invalid JSON primitive ."
Finally, Old Ajax Manager.
Old Ajax Manager.. works.
In the next obvious scenario, if one puts a postback type control inside the tooltip (eg: a button), then the tooltip returns, empty.
This is a great deal of complication that isn't very fun to deal with at all. That the tool tip only works properly with the old ajax manager, or perhaps it works propertly with the new pieces in a way that isn't immediately obvious.
I don't really want to use the tooltip manager. There's no reason to-- my fields are static. The only reason I am updating the tooltip at all is because otherwise, it won't reattach to the label.
In my second post, I will discuss why, despite this working finally as described, when placing the ToolTips in templates, the toolTip stops working even with the old ajax manager.
Ideally, I want to use the Prometheus Ajax, and more than that, AjaxManager.
Each scenario is one in which there is an anchor, a tooltip, and an item which causes postback. In the cases of the panels, all three are contained in the panel. In the case of the Managers, the updated controls are the ToolTips, the initiators are the postback buttons.
UpdatePanel:
First Ajax-Postback works. Second Ajax-Postback returns an alert: "Invalid JSON Primitive ."
<asp:UpdatePanel ID="testUpdatePanel" runat="Server"> |
<ContentTemplate> |
<asp:Button ID="postbackButton1" runat="server" /> |
<asp:Label ID="tooltipAnchor1" runat="server">ToolTip Anchor 1, Update Panel</asp:Label> |
<telerik:RadToolTip ID="tooltip1" runat="server" TargetControlID="tooltipAnchor1">This is a tooltip</telerik:RadToolTip> |
</ContentTemplate> |
</asp:UpdatePanel> |
Prometheus Panel
On update, the toolTip no longer attached to element. On second update, receive JSON alert as before.
<telerik:RadAjaxPanel ID="prometheusAjaxPanel" runat="Server"> |
<asp:Button ID="postbackButton1" runat="server" /> |
<asp:Label ID="tooltipAnchor1" runat="server">ToolTip Anchor 1, Update Panel</asp:Label> |
<telerik:RadToolTip ID="tooltip1" runat="server" TargetControlID="tooltipAnchor1">This is a tooltip</telerik:RadToolTip> |
</telerik:RadAjaxPanel> |
AjaxPanel (old)
First ajax-postback works, tooltip still attached. Onthe second update, a Server Error occurs displaying the same text that the alert displayed earlier.
<radA:RadAjaxPanel ID="oldAjaxPanel" runat="Server" EnableOutsideScripts="true" UseEmbeddedScripts="true"> |
<asp:Button ID="postbackButton1" runat="server" /> |
<asp:Label ID="tooltipAnchor1" runat="server">ToolTip Anchor 1, Update Panel</asp:Label> |
<telerik:RadToolTip ID="tooltip1" runat="server" TargetControlID="tooltipAnchor1">This is a tooltip</telerik:RadToolTip> |
</radA:RadAjaxPanel> |
Prometheus AjaxManager
First Postback works, Tooltip Opens, Second postback causes "Invalid JSON primitive ."
<telerik:RadAjaxManager ID="ajaxManager" runat="server"> |
<AjaxSettings> |
<telerik:AjaxSetting AjaxControlID="postbackButton1"> |
<UpdatedControls> |
<telerik:AjaxUpdatedControl ControlID="tooltip1" /> |
</UpdatedControls> |
</telerik:AjaxSetting> |
</AjaxSettings> |
</telerik:RadAjaxManager> |
<asp:Button ID="postbackButton1" runat="server" /> |
<asp:Label ID="tooltipAnchor1" runat="server">ToolTip Anchor 1, Update Panel</asp:Label> |
<telerik:RadToolTip ID="tooltip1" runat="server" TargetControlID="tooltipAnchor1">This is a tooltip</telerik:RadToolTip> |
Finally, Old Ajax Manager.
Old Ajax Manager.. works.
<radA:RadAjaxManager ID="oldAjaxManager" runat="Server" UseEmbeddedScripts="true" EnableOutsideScripts="true"> |
<AjaxSettings> |
<radA:AjaxSetting AjaxControlID="postbackButton1"> |
<UpdatedControls> |
<radA:AjaxUpdatedControl ControlID="tooltip1" /> |
<radA:AjaxUpdatedControl ControlID="tooltipAnchor1" /> |
</UpdatedControls> |
</radA:AjaxSetting> |
</AjaxSettings> |
</radA:RadAjaxManager> |
<asp:Button ID="postbackButton1" runat="server" /> |
<asp:Label ID="tooltipAnchor1" runat="server">ToolTip Anchor 1, Update Panel</asp:Label> |
<telerik:RadToolTip ID="tooltip1" runat="server" TargetControlID="tooltipAnchor1">This is a tooltip</telerik:RadToolTip> |
In the next obvious scenario, if one puts a postback type control inside the tooltip (eg: a button), then the tooltip returns, empty.
<radA:RadAjaxManager ID="oldAjaxManager" runat="Server" UseEmbeddedScripts="true" EnableOutsideScripts="true"> |
<AjaxSettings> |
<radA:AjaxSetting AjaxControlID="button2"> |
<UpdatedControls> |
<radA:AjaxUpdatedControl ControlID="tooltip1" /> |
<radA:AjaxUpdatedControl ControlID="tooltipAnchor1" /> |
<radA:AjaxUpdatedControl ControlID="button2" /> |
</UpdatedControls> |
</radA:AjaxSetting> |
</AjaxSettings> |
</radA:RadAjaxManager> |
<asp:Button ID="postbackButton1" runat="server" /> |
<asp:Label ID="tooltipAnchor1" runat="server">ToolTip Anchor 1, Update Panel</asp:Label> |
<telerik:RadToolTip ID="tooltip1" runat="server" TargetControlID="tooltipAnchor1"><asp:Button ID="button2" runat="server" /></telerik:RadToolTip> |
This is a great deal of complication that isn't very fun to deal with at all. That the tool tip only works properly with the old ajax manager, or perhaps it works propertly with the new pieces in a way that isn't immediately obvious.
I don't really want to use the tooltip manager. There's no reason to-- my fields are static. The only reason I am updating the tooltip at all is because otherwise, it won't reattach to the label.
In my second post, I will discuss why, despite this working finally as described, when placing the ToolTips in templates, the toolTip stops working even with the old ajax manager.
Ideally, I want to use the Prometheus Ajax, and more than that, AjaxManager.