我有一个Telerik RadToolTipManager,我在其中调用这样的webservice方法:
<asp:LinkButton ID="link" runat="server" >
<%# DataBinder.Eval(Container.DataItem, "Name")%>
</asp:LinkButton>
<telerik:RadToolTipManager ID= "tooltip" runat="server" width="400px"
RelativeTo="Element" HideEvent="LeaveTargetAndToolTip"
Animation="Slide" EnableTheming="true" ShowEvent="OnMouseOver">
<WebServiceSettings Method="GetToolTipData" Path="DropdownWebService.asmx"
UseHttpGet="true" />
<TargetControls>
<telerik:ToolTipTargetControl TargetControlID="link">
</telerik:ToolTipTargetControl>
</TargetControls>
</telerik:RadToolTipManager>
在我的网络服务代码后面我有这个:
[WebMethod(EnableSession = true)]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public string GetToolTipData(object context)
{
IDictionary<string, object> contextDictionary = (IDictionary<string, object>)context;
string tooltipValue = ((string)contextDictionary["Value"]);
string targetID = ((string)contextDictionary["TargetControlID"]);
string str = "";
return tooltipValue ;
}
它工作正常并显示工具提示,但在变量tooltipValue
中我只得到一个空字符串。我想要工具提示的价值,还有其他方法吗?
答案 0 :(得分:1)
那是因为链接目标没有与之关联的值。添加一个:
<telerik:RadToolTipManager ID= "tooltip" runat="server" width="400px"
RelativeTo="Element" HideEvent="LeaveTargetAndToolTip"
Animation="Slide" EnableTheming="true" ShowEvent="OnMouseOver">
<WebServiceSettings Method="GetToolTipData" Path="DropdownWebService.asmx"
UseHttpGet="true" />
<TargetControls>
<telerik:ToolTipTargetControl TargetControlID="link" Value="someValue"></telerik:ToolTipTargetControl>
</TargetControls>
</telerik:RadToolTipManager>
此外,请确保网格中的每一行都不会发生这种情况...向页面添加一个工具提示管理器,并使用ItemDataBound事件在代码隐藏中添加目标。看看这里:http://demos.telerik.com/aspnet-ajax/tooltip/examples/targetcontrolsandajax/defaultcs.aspx?product=tooltip。