我正在尝试复制像这个演示一样的东西 http://demos.telerik.com/aspnet-ajax/tooltip/examples/tooltipversustooltipmanager/defaultvb.aspx
使用radtooltipmanager和radgrid 但我得到一个错误,默认值2未定义
这是我的代码
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
If Me.IsPostBack Then
'GridView does not keep its items' IDs after postback, so rebind it or else tooltip manager will not show tooltips
RadGrid1.DataBind()
End If
End Sub
Protected Sub OnAjaxUpdate(ByVal sender As Object, ByVal args As ToolTipUpdateEventArgs)
Dim ctrl As Control = Page.LoadControl("default2.aspx")
args.UpdatePanel.ContentTemplateContainer.Controls.Add(ctrl)
Dim details As default2 = DirectCast(ctrl, default2)
details.Country = args.Value
End Sub
Protected Sub Grid1_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
Dim row As Data.DataRowView = DirectCast(e.Row.DataItem, Data.DataRowView)
If e.Row.RowType = DataControlRowType.DataRow Then
Dim country As String = row("owed").ToString()
RadToolTipManager1.TargetControls.Add(e.Row.ClientID, country, True)
End If
End Sub
这是他们的
Private Sub Page_Load(sender As Object, e As System.EventArgs)
If Me.IsPostBack Then
'GridView does not keep its items' IDs after postback, so rebind it or else tooltip manager will not show tooltips
Grid1.DataBind()
End If
End Sub
Protected Sub OnAjaxUpdate(sender As Object, args As ToolTipUpdateEventArgs)
Dim ctrl As Control = Page.LoadControl("InfoCustomers.ascx")
args.UpdatePanel.ContentTemplateContainer.Controls.Add(ctrl)
Dim details As InfoCustomers = DirectCast(ctrl, InfoCustomers)
details.Country = args.Value
End Sub
Protected Sub Grid1_RowDataBound(sender As Object, e As GridViewRowEventArgs)
Dim row As DataRowView = DirectCast(e.Row.DataItem, DataRowView)
If e.Row.RowType = DataControlRowType.DataRow Then
Dim country As String = row("Country").ToString()
RadToolTipManager1.TargetControls.Add(e.Row.ClientID, country, True)
End If
End Sub
End Class
答案 0 :(得分:0)
快速查看代码我发现您正在尝试在WebForms页面上使用Page.LoadControl(),而不是用户控件。我建议创建一个用户控件(.ascx)复制WebForms页面(.aspx)并尝试加载它。