我已经成功构建了一个弹出图表,当将鼠标悬停在位于 GridView 中的图像上时会显示该图表。问题是,如果我将 Gridview 放在 UpdatePanel 中,则在更改页面中的下拉菜单上的选择后页面更新后,弹出窗口不会显示。
请参阅下面的代码示例
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="Table0" runat="server" AutoGenerateColumns="False" DataSourceID="SQL">
....
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
我在以下两页中有完整的代码:
我尝试在另一个网站之后添加以下代码(http://www.aspsnippets.com/Articles/jQuery-Plugins-not-working-after-ASPNet-AJAX-UpdatePanel-Partial-PostBack-or-when-Asynchronous-request- is-over.aspx )
//On UpdatePanel Refresh
var prm = Sys.WebForms.PageRequestManager.getInstance();
if (prm != null) {
prm.add_endRequest(jQuery(document).ready(function (sender, e) {
if (sender._postBackSettings.panelsToUpdate != null) {
$('.HoverDesc').hover(function () {
$(this).find('p').show(200);
}, function () {
$(this).find('p').hide(100);
});
}
}));
};
但我收到一条错误消息:
错误:无法获取属性“panelsToUpdate”的值:对象为空或未定义
我还尝试了以下方法,这不会导致错误,但它似乎不起作用:
//On UpdatePanel Refresh
var prm = Sys.WebForms.PageRequestManager.getInstance();
if (prm != null) {
prm.add_endRequest(function (sender, e) {
if (sender._postBackSettings.panelsToUpdate != null) {
jQuery(document).ready(function ($) {
$('.HoverDesc').hover(function () {
$(this).find('p').show(200);
}, function () {
$(this).find('p').hide(100);
});
});
}
});
};
任何帮助将不胜感激
谢谢