解决方法
当您使用asp.net时,执行检查服务器端是有意义的,因为您将选择添加对
javascript文件的引用.您可以从.ascx文件中注册以下内容:
this.Page.ClientScript.RegisterClientScriptInclude("GlobalUnqiueKey",UrlOfJavascriptFile);
ClientScript.RegisterClientScriptInclude("GlobalUnqiueKey",UrlOfJavascriptFile);
‘GlobalUniqueKey’可以是任何字符串(我也使用javascript文件的url)
如果您尝试使用相同的键字符串注册脚本,则不会执行任何操作.所以如果你在你的页面,你的控件或其他任何地方这样称呼,那么你的页面中只会有一个引用.这样做的好处是,您可以在页面上拥有多个控件实例,尽管它们都尝试注册同一个脚本,但最多只能做一次.而且没有人担心脚本已经被注册了.
有一个’IsClientScriptIncludeRegistered(stringkey)’方法可以用来查看脚本是否已经被包含在该键内,但是在注册之前进行这种检查似乎很多余,注册时不要抛出异常或导致其他任何异常错误.
检查客户端意味着,假设浏览器缓存多个JavaScript引用(可能不是),您仍然有多个标签,并且每个标签的头部导致一些JavaScript运行.如果您在一个页面上有20个控件实例,您可能会遇到严重问题.