0

我在我的类库中创建了一个自定义WebControl,该类中包含了它使用的嵌入式资源JavaScript文件。该JavaScript使用jQuery。使用jQuery控制嵌入式JavaScript

我的问题是,如果在控制要使用的页面上的ScriptManager保证有一个jQuery的ScriptReference,我仍然需要有jQuery作为控件的类库中的嵌入式资源JavaScript能够使用jQuery吗?

如果答案是肯定的,当我创建其他控件时,也会嵌入使用jQuery的JavaScript并在同一页面上使用这些控件的几个不同的东西?嵌入式jQuery脚本是否多次作为webResource添加到页面中?

回答

1

jQuery是嵌入式资源还是一些使用jQuery的JS?

无论哪种方式,您只需要在ScriptReferences中引用一个jQuery。如果jQuery本身嵌入在控件中(糟糕的设计),那么你应该尽可能地删除它。

在页面顶部加载jQuery有很多好处,但首要的是页面的其他区域可能需要它,所以依赖它在控件中加载是一个可怕的想法。

综上所述,做任何你可以没有的jQuery(或任何脚本资源)在同一页

+0

上加载多次,没有使用jQuery的JS的是嵌入的资源,但目前当控件渲染到页面,我得到一个“'$'没有定义”嵌入式脚本的第一次使用$ alias的JavaScript错误 – Billyhole

+0

然后,jQuery被加载*在控件之后,或根本不加载。错误是在页面加载或稍后的用户操作期间发生的? – Terry

+0

jQuery是页面主页上ScriptManager的ScriptReference。错误发生在页面加载时,它发生在嵌入式脚本的“$(document).ready(function(){”) – Billyhole