I'm trying to use the 4GuysFromRolla post (http://www.4guysfromrolla.com/articles/071107-1.aspx). Works great in IE9, SAF 5.1.7, FF19, CHR 26, but gives the "A script on this page is causing IE to run slowly...." error and it quits working. Any help? Here's the pertinent code:
<asp:GridView ID="dgList" runat="server" DataSourceID="sourceDirectory" AutoGenerateColumns="false" DataKeyNames="dir_pk" ><Columns><asp:BoundField DataField="dir_pk" HeaderText="dir_pk" Visible="false" /><asp:TemplateField HeaderText="Details"><ItemTemplate><asp:Image ID="Image1" runat="server" ImageUrl="~/images/icon-previewSm.gif" BorderWidth="0" /><ajaxToolkit:PopupControlExtender ID="PopupControlExtender1"
runat="server"
DynamicServiceMethod="GetDynamicContent"
DynamicContextKey='<%# Eval("dir_pk") %>'
DynamicControlID="Panel1"
TargetControlID="Image1"
PopupControlID="Panel1"
Position="right"
/></ItemTemplate></asp:TemplateField><System.Web.Services.WebMethodAttribute()> <System.Web.Script.Services.ScriptMethodAttribute()> Public Shared Function GetDynamicContent(contextKey As String) As System.String
Dim sTemp As New StringBuilder
Dim strConn As String = ConfigurationManager.ConnectionStrings("strConn").ConnectionString
Dim cn As New Data.SqlClient.SqlConnection(strConn)
Dim cmd As Data.SqlClient.SqlCommand
Dim strSql As String = "SELECT blah blah FROM dbo.tblDirectory AS d where d.dir_pk=" & contextKey.ToString
cmd = New Data.SqlClient.SqlCommand(strSql, cn)
'lblMsg.Text = strSql
cn.Open()
Dim dr As Data.SqlClient.SqlDataReader = cmd.ExecuteReader
If dr.HasRows Then
sTemp.Append("<table><tr><td align=>")
While dr.Read
sTemp.Append("<br />" & dr("person").ToString)
sTemp.Append("<br /><br />" & dr("bio").ToString)
sTemp.Append("</td></tr></table>")
End While
Else
sTemp.Append("<i>No details found.</i>")
End If
dr.Close()
cn.Close()
Return sTemp.ToString()
End Function
Protected Sub dgList_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles dgList.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim pce As AjaxControlToolkit.PopupControlExtender = CType(e.Row.FindControl("PopupControlExtender1"), AjaxControlToolkit.PopupControlExtender)
Dim behaviorID As String = String.Concat("pce", e.Row.RowIndex)
pce.BehaviorID = behaviorID
Dim i As Image = CType(e.Row.Cells(1).FindControl("Image1"), Image)
i.Attributes.Add("onmouseover", String.Format("$find('{0}').showPopup();", behaviorID))
i.Attributes.Add("onmouseout", String.Format("$find('{0}').hidePopup();", behaviorID))
End If
End Sub