我在快速中遇到了类似的问题,但总是能够通过将脚本放在主页面来绕过它们。但是,这一次,脚本需要在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,以及处理正常的服务器端点击事件。
可能出现什么问题?
答案 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)
来修改脚本。