Javascripts在回发后无法正常工作

Lea*_*ria 2 twitter-bootstrap

我正在使用asp.net Web应用程序上的bootstrap组件.它的工作正常,但奇怪的是,它们在页面回发后停止工作.外观很好,但行为不是.这就是为什么我认为这个问题包含了javascript文件.

例如,dorp down按钮:在回发后,展开操作不起作用.

你知道这可能是什么原因吗?

Gre*_*egL 20

如果你正在使用一个UpdatePanel做局部页面刷新,那么当面板的内容是通过AJAX更新,平常$(document).ready(...) / $(...)的东西不会再次触发,这意味着自定义的JS功能(比如下拉菜单)是引导的一部分不会重新绑定到新元素.

我通常做的是提取我的代码,将javascript事件处理程序和行为设置到他们自己的函数中(例如function BindEvents() { ... }),然后我在更新面板中使用以下代码以确保它在部分回发重新运行(以及如在初始页面加载):

<script type="text/javascript">
    Sys.Application.add_load(BindEvents);
</script>
Run Code Online (Sandbox Code Playgroud)

编辑:这是一个建议的基本BindEvents()功能,应该为您重新初始化下拉列表:

function BindEvents() {
    $('[data-toggle=dropdown]').dropdown();
    // other bootstrap binding code - see the combined Bootstrap.js for ideas
}
Run Code Online (Sandbox Code Playgroud)