Telerik Tooltip管理器从Web方法返回空字符串

时间:2014-03-17 10:32:31

标签: c# asp.net telerik

我有一个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中我只得到一个空字符串。我想要工具提示的价值,还有其他方法吗?

1 个答案:

答案 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