You need to enable JavaScript to run this app. UpdatePanel内Bootstrap Tooltip触发回发后背景色丢失问题求解
优惠活动
大模型
产品
解决方案
定价
更多

UpdatePanel内Bootstrap Tooltip触发回发后背景色丢失问题求解

问题根因

ASP.NET UpdatePanel 异步回发后会替换 ContentTemplate 内的全部DOM节点,页面初次加载时在$(document).ready中绑定的tooltip初始化逻辑仅对首次加载的DOM生效,回发后新渲染的带tooltip属性的元素未重新初始化,同时残留的旧tooltip实例会和新元素产生冲突,就会出现黑色背景丢失等样式异常问题。

解决方案

不需要修改UpdatePanel或单个控件的配置,只需要调整前端JS逻辑,将tooltip初始化逻辑抽为公共方法,同时绑定「页面初次加载」和「UpdatePanel异步回发完成」两个触发时机即可,修改后的代码如下:

<script>
// 公共tooltip初始化方法
function initTooltips() {
    // 先销毁已存在的tooltip实例,避免重复绑定冲突
    $('[data-toggle="tooltip"]').tooltip('dispose');
    // 重新初始化tooltip,默认保留Bootstrap黑底白字样式,有自定义配置也可以统一在这里添加
    $('[data-toggle="tooltip"]').tooltip();
}

// 页面首次加载时初始化
$(document).ready(function () {
    initTooltips();
});

// 监听UpdatePanel异步回发完成事件,回发后重新初始化tooltip
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function () {
    initTooltips();
});
</script>

原来的UpdatePanel和内部控件代码不需要做任何修改,直接替换原有JS逻辑即可生效。

提示:如果使用的是Bootstrap 3版本,将销毁实例的代码改为$('[data-toggle="tooltip"]').tooltip('destroy')即可。

内容的提问来源于stack exchange,提问作者rimi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 21:36:01