ASP.net - 在更新面板中为嵌套用户控件添加javascript失败

时间:2014-02-15 00:16:37

标签: asp.net ajax updatepanel

我有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。

谢谢!

0 个答案:

没有答案