Web用户控件中Javascript的ReferenceError

时间:2015-03-26 13:54:32

标签: javascript asp.net telerik

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

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

这基本上是Web用户控件中的设置:

<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>

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

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

可能出现什么问题?

1 个答案:

答案 0 :(得分:0)

当通过AJAX(http://demos.telerik.com/aspnet-ajax/tooltip/examples/targetcontrolsandajax/defaultcs.aspx?product=tooltip)加载用户控件时,您必须按照MS AJAX要求的方式注册脚本,因此浏览器将解析它们。这也将在没有tootlip经理的情况下发生。

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

来修改脚本。