2011-06-03 44 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),並嘗試加載它。