我有UserControl-B,它位于UserControl-A上的UpdatePanel中。 UserControl-A驻留在default.aspx的更新面板中。我需要为UserControl-B上的一些控件添加一个jquery事件处理程序。
我尝试通过RegisterClientScriptBlock添加javascript(我也尝试过RegisterStartScript)来做到这一点。当UserControl-A显示并且我尚未启动UserControl-B时,脚本出现。当我执行启动UserControl-B的操作时,脚本不存在。
我在UserControl-B中添加了以下代码的脚本:
Protected Sub Page_Load()
Dim sbJS As New StringBuilder()
sbJS.AppendLine(" $('a[data-toggle=""tab""]').on('shown.bs.tab', function (e) {")
sbJS.AppendLine(" console.log('in shown.bs.tab');")
sbJS.AppendLine(" });")
ScriptManager.RegisterClientScriptBlock(this.Page, typeof(SomeClass), "myScript", sbJS.ToString(), true)
End Sub
在调试器中,我看到在加载UserControl-A和加载UserControl-B时都会调用UserControl-B.Page_Load()方法。
关于加载UserControl-B时Javascript没有出现的任何想法?
此外,还有更好的方法来添加此Javascript。
谢谢!