Mira, see attached sample and do the following steps:
1. hover over tooltip. Tooltip is shown fine (no ajax client events are fired)
2. click the save link. both ajax client events are fired.
3. hover over tooltip. (same as step 1)
4. click the delete link. ajaxrequeststart is fired and the event is cancelled.
5. hover over tooltip. notice how ajaxrequestend event is fired with same arguments as previously cancelled delete link.
Question is why is this? My workaround was to try and trap when this is the case since there is no way of knowing the ajaxendevent is being fired now because of the previously cancelled event. Also, if you click back on the save link, both ajax events are fired and the tooltip works fine. The ajaxmanager seems to be getting crossed up in there somehow.
.ASPX
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
>
</
telerik:RadScriptManager
>
<
script
type
=
"text/javascript"
>
//Put your JavaScript code here.
</
script
>
<
telerik:RadCodeBlock
ID
=
"RadCodeBlock1"
runat
=
"server"
>
<
script
language
=
"javascript"
type
=
"text/javascript"
>
function AjaxRequestStart(send, eventArgs) {
alert("AjaxRequestStart " + eventArgs.get_eventTarget() + " " + eventArgs.get_eventArgument());
if (eventArgs.get_eventArgument() == 0) {
eventArgs.set_cancel(true);
return false;
}
}
function AjaxRequestEnd(sender, eventArgs) {
alert("AjaxRequestEnd " + eventArgs.get_eventTarget() + " " + eventArgs.get_eventArgument());
$find("<%=rnEventNotification.ClientID %>").show();
}
</
script
>
</
telerik:RadCodeBlock
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
ClientEvents-OnRequestStart
=
"AjaxRequestStart"
ClientEvents-OnResponseEnd
=
"AjaxRequestEnd"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"rtbEvent"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"rtbEvent"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"rnEventNotification"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
Skin
=
"Default"
/>
<
telerik:RadNotification
ID
=
"rnEventNotification"
runat
=
"server"
EnableShadow
=
"true"
Text
=
""
Title
=
""
/>
<
telerik:RadToolBar
ID
=
"rtbEvent"
runat
=
"server"
Width
=
"100%"
Height
=
"30"
EnableEmbeddedSkins
=
"false"
Skin
=
"Category"
>
<
Items
>
<
telerik:RadToolBarButton
Value
=
"Delete"
CommandName
=
"Delete"
Text
=
"Delete"
></
telerik:RadToolBarButton
>
<
telerik:RadToolBarButton
Value
=
"Save"
CommandName
=
"Save"
Text
=
"Save"
></
telerik:RadToolBarButton
>
</
Items
>
</
telerik:RadToolBar
>
<
telerik:RadToolTipManager
ID
=
"rttmEventPreview"
OffsetY
=
"-1"
Width
=
"350"
Height
=
"350"
runat
=
"server"
EnableShadow
=
"true"
OnAjaxUpdate
=
"OnAjaxUpdateToolTip"
HideEvent
=
"LeaveTargetAndToolTip"
RelativeTo
=
"Element"
Position
=
"MiddleRight"
>
</
telerik:RadToolTipManager
>
</
form
>
.ASPX.VB
Private
Sub
Page_Load(sender
As
Object
, e
As
System.EventArgs)
Handles
Me
.Load
If
Not
Page.IsPostBack
And
Not
RadAjaxManager1.IsAjaxRequest
Then
Dim
hyp
As
New
HyperLink
hyp.NavigateUrl =
"#
hyp.Text =
"link1"
form1.Controls.Add(hyp)
rttmEventPreview.TargetControls.Add(hyp.ClientID,
"1"
,
True
)
RadAjaxManager1.AjaxSettings.AddAjaxSetting(hyp, rttmEventPreview)
Dim
lit
As
New
Literal
lit.Text =
"<br/>"
form1.Controls.Add(lit)
hyp =
New
HyperLink
hyp.NavigateUrl =
"#
hyp.Text =
"link2"
form1.Controls.Add(hyp)
rttmEventPreview.TargetControls.Add(hyp.ClientID,
"2"
,
True
)
RadAjaxManager1.AjaxSettings.AddAjaxSetting(hyp, rttmEventPreview)
lit =
New
Literal
lit.Text =
"<br/>"
form1.Controls.Add(lit)
End
If
End
Sub
Protected
Sub
OnAjaxUpdateToolTip(sender
As
Object
, args
As
ToolTipUpdateEventArgs)
Me
.UpdateToolTip(args.Value, args.UpdatePanel)
End
Sub
Private
Sub
UpdateToolTip(elementID
As
String
, panel
As
UpdatePanel)
Dim
lbl
As
New
Label
lbl.Text =
"the time is "
&
Date
.Now
panel.ContentTemplateContainer.Controls.Add(lbl)
End
Sub
Private
Sub
rtbEvent_ButtonClick(sender
As
Object
, e
As
Telerik.Web.UI.RadToolBarEventArgs)
Handles
rtbEvent.ButtonClick
Dim
btn
As
RadToolBarButton = TryCast(e.Item, RadToolBarButton)
If
Not
btn
Is
Nothing
Then
If
btn.CommandName =
"Delete"
Then
rnEventNotification.Title =
"Activity Deleted"
rnEventNotification.Text =
"Activity deleted successfully"
ElseIf
btn.CommandName =
"Save"
Then
rnEventNotification.Title =
"Activity Saved"
rnEventNotification.Text =
"Activity saved successfully"
Else
rnEventNotification.Title =
""
rnEventNotification.Text =
""
End
If
End
If
End
Sub