我已经成功构建了一个弹出图表,当将鼠标悬停在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>
我在以下两页中有完整的代码:
//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'的值:object为null或undefined
我还尝试了以下操作,这不会导致错误,但似乎不起作用:
//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);
});
});
}
});
};
任何帮助将不胜感激
由于
答案 0 :(得分:0)
如果它对某人有帮助,我已经设法在此页面的帮助下解决了问题:
代码如下:
<script src="http://code.jquery.com/jquery-1.8.3.min.js" type="text/javascript"></script>
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function EndRequestHandler(sender, args) {
if (args.get_error() == undefined) {
alertTest();
}
}
function alertTest() {
jQuery(document).ready(function ($) {
$('.HoverDesc').hover(function () {
$(this).find('p').show(200);
}, function () {
$(this).find('p').hide(100);
});
});
}
alertTest();
</script>