Thanks in advance for any help.
I used the telerik sample http://demos.telerik.com/aspnet-ajax/tooltip/examples/radtooltipmanagerclientapi/defaultcs.aspx as a basis for this code. Running the sample on my local Windows 7 machine works but fails in my local dev application. "Invalid web service call missing parameter" error occurs when calling tooltip.set_value()
var
sServiceTrack = oGrid.get_masterTableView().get_dataItems()[sRowIndex].get_dataItem()[
"service_track_event_id"
];
var
sPeople = oGrid.get_masterTableView().get_dataItems()[sRowIndex].get_dataItem()[
"people_id"
];
var
sParms = sServiceTrack +
"~"
+ sPeople;
//must be a client
if
(sServiceTrack ==
null
|| sServiceTrack ==
""
)
return
;
var
tooltipManager = $find(
"<%= objRadToolTipManagerClient.ClientID %>"
);
//If the user hovers the image before the page has loaded, there is no manager created
if
(!tooltipManager)
return
;
//Find the tooltip for this element if it has been created
var
tooltip = tooltipManager.getToolTipByElement(element);
//Create a tooltip if no tooltip exists for such element
if
(!tooltip)
{
tooltip = tooltipManager.createToolTip(element);
tooltip.set_value(sParms);
}
//Let the tooltip's own show mechanism take over from here - execute the onmouseover just once
element.onmouseover =
null
;
//show the tooltip
tooltip.show();
ASPX
<
telerik:RadToolTipManager
ID
=
"objRadToolTipManagerClient"
Width
=
"300"
Height
=
"100"
OffsetY
=
"-1"
HideEvent
=
"Default"
runat
=
"server"
EnableShadow
=
"true"
RelativeTo
=
"Element"
Position
=
"MiddleRight"
ShowEvent
=
"OnMouseOver"
EnableViewState
=
"false"
IgnoreAltAttribute
=
"true"
>
<
WebServiceSettings
Path
=
"wsToolTips.asmx"
Method
=
"GetClientToolTipSingelParm"
/>
</
telerik:RadToolTipManager
>
Web service
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.Services;
using
System.Configuration;
using
System.Web.Script.Services;
using
System.Data;
using
System.Web.UI;
using
System.IO;
using
System.Reflection;
namespace
EvolvCS
{
[WebService(Namespace =
"http://defran.com/webservices"
)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(
false
)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public
class
wsToolTips : System.Web.Services.WebService
{
[WebMethod]
[System.Web.Script.Services.ScriptMethod]
public
string
GetClientToolTipSingelParm(
string
sValues)
{
string
[] aValues = sValues.Split(
'~'
);
string
serviceTrackId = aValues[0];
string
peopleId = aValues[1];
return
ViewManager.RenderClientToolTip(serviceTrackId, peopleId);
}
}
public
class
ViewManager
{
public
static
string
RenderClientToolTip(
string
strServiceTrackId,
string
strPeopleId)
{
Page pageHolder =
new
Page();
client_header_multi viewControl = (client_header_multi)pageHolder.LoadControl(
"client_header_multi.ascx"
);
viewControl.serviceTrack = strServiceTrackId;
viewControl.people_id = strPeopleId;
pageHolder.Controls.Add(viewControl);
StringWriter output =
new
StringWriter();
HttpContext.Current.Server.Execute(pageHolder, output,
false
);
return
output.ToString();
}
}
}