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(); } } }