【问题标题】:ReferenceError for Javascript within Web user controlWeb 用户控件中 Javascript 的 ReferenceError
【发布时间】:2015-03-26 13:54:32
【问题描述】:

我在fast中也遇到过类似的问题,但总是能够通过将脚本放在主页中来规避它们。但是,这一次,脚本需要在 Web 用户控件中。

但由于某种原因,脚本没有加载,Firefox 的控制台告诉我 ReferenceError: deleteSystemMessage 没有定义,我只是不明白为什么。

这基本上是网络用户控件内部的设置:

<script type="text/javascript">    

    function deleteSystemMessage() {
        $(".bubbletext").val(callWebMethod("EventCalendar.aspx/GetTodaysSystemMessage", {}));
        hideActiveToolTip();
    }

    function hideActiveToolTip() {
        var tooltip = Telerik.Web.UI.RadToolTip.getCurrent();
        if (tooltip) {
            tooltip.hide();
        }
    }

</script>

没关系,代码似乎做了它没有宣传的事情。该页面根本不知道脚本的存在。

此网络用户控件位于 RadToolTipManager 中,可以在主页上执行 Javascript,以及处理正常的服务器端点击事件。

可能出了什么问题?

【问题讨论】:

    标签: javascript asp.net telerik


    【解决方案1】:

    当通过 AJAX (http://demos.telerik.com/aspnet-ajax/tooltip/examples/targetcontrolsandajax/defaultcs.aspx?product=tooltip) 加载用户控件时,您必须按照 MS AJAX 要求的方式注册脚本,以便浏览器解析它们。如果没有提示管理器,这也会发生。

    总而言之,通过 ScriptManager.RegisterClientScriptBlock 方法 (https://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.registerclientscriptblock(v=vs.110).aspx)

    注册您的脚本

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多