2011-06-03 79 views
0

我试图复制像使用radtooltipmanager和radgrid控件 这个演示 http://demos.telerik.com/aspnet-ajax/tooltip/examples/tooltipversustooltipmanager/defaultvb.aspx的RadControls工具提示和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

只要快速查看代码,就会发现您尝试在WebForms页面上使用Page.LoadControl(),而不是用户控件。我建议创建一个复制WebForms页面(.aspx)的用户控件(.ascx),并尝试加载它。