弹出图在 Ajax UpdatePanel 中不起作用
Popup chart not working inside Ajax UpdatePanel
我已经成功构建了一个弹出图表,当将鼠标悬停在位于 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>
我在以下两页中有完整的代码:
- 鼠标悬停时 vb.net 弹出图表
- 从 GridView 弹出图表以显示基于行引用的数据
我尝试在另一个网站(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);
});
}
}));
};
但是我收到一条错误消息:
错误:无法获取属性"panelToUpdate"的值:对象为空或未定义
我也尝试了以下方法,这没有导致错误,但它似乎不起作用:
//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);
});
});
}
});
};
任何帮助将不胜感激
谢谢
如果它对某人有帮助,我已经设法在此页面的帮助下解决了问题:
http://blog.dreamlabsolutions.com/post/2009/02/24/jQuery-document-ready-and-ASP-NET-Ajax-asynchronous-postback.aspx
代码如下:
<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>
相关文章:
- Jquery:输入类型=“”;按钮“;使用.click()函数在Internet Explorer和Safari中不起作
- 如何选择数组中的第一个对象(当 array[0] 不起作用时)
- document.getElementById('myControl').focus() 在 PhoneGap 中不起作
- JQuery prop('required', false, (!$(this).is(':checked')) 不起作
- 为什么从 JavaScript 调用 Flash 函数可以工作,但 FileReference 在 Flash 中不起作
- 当我从下拉列表中选择公司名称时,UpdatePanel 自动发布返回=true 并且自动完成文本框不起作用
- 弹出图在 Ajax UpdatePanel 中不起作用
- 捆绑和缩小 - 启用脚本不起作用时
- fb:like 当被要求登录 IE 不起作用时
- document.head.appendChild 或 document.createElement 在 IE 中不起作
- 主页链接'的背景颜色在Internet explorer中发生了变化,但在Mozilla Firefox中不起作
- HTML、PHP、JavaScript——如何为数据库中的每个单独记录制作一个按钮?看起来很简单,但事实并非如此;不起作
- 当页面请求和重载javascript函数不起作用时
- 在使XMLHttpRequest到服务器头(“location:index.php”)函数不起作用时
- 当getElementById不起作用时,如何查找输入字段的id
- 当fontWeight不起作用时,如何使HTML5字体更轻?
- 当$.ajax()不起作用时,并行调用$
- 使用helper: 'original'With sortable()和draggable()似乎不起作
- element2.focus() 在 element1.onblur() 在 Fx/Chrome/Safari 中不起作
- 当 window.location=self.location 不起作用时,通过 AJAX 重新加载页面