我的页面上有一个ASP.net转发器,它创建了一大堆listitems。我还使用JQuery UI Slider插件从某些列表项中包含的div生成滑块。所以我有一个名为initSliders()的javascript函数,它在页面加载时运行,创建了滑块。这很好。
Repeater位于Ajax UpdatePanel内,每隔10秒更新一次。转发器在每次迭代时都会反弹。这是问题发生的地方,重新滑动滑块消失。我相信这是因为转发器正在重新生成,所以我想我需要一种在每次转发器加载后调用javascript initSliders()函数的方法。
我会怎么做?
答案 0 :(得分:2)
这样做的一种方法是在Page_Load
string script = //SCRIPT THAT CREATES THE SLIDER
ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(),
"SLIDER", script, true);
修改强>
部分更新响应设置为div控件的innerHTML,因此更新面板中的内联javascript代码不会在刷新时起作用。
这就是你需要使用ScriptManager注册脚本的原因
更详细的解释here