我正在尝试在我的母版页中添加一个jQuery的脚本引用,以便它适用于任何页面.它目前看起来像这样
<script type="text/javascript" src="jquery.js"></script>
Run Code Online (Sandbox Code Playgroud)
问题是路径始终相对于正在执行的aspx页面,所以这只有在"jquery.js"文件位于同一文件夹中时才有效.为了使它工作,我必须将行更改为:
<script type="text/javascript" src="../../jquery.js"></script>
Run Code Online (Sandbox Code Playgroud)
这显然不太理想,因为它只适用于从根文件夹两层深的页面.如果我尝试以下操作,IIS会抛出有关意外字符的错误.
<script runat="server" type="text/javascript" src="~/jquery.js"></script>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
编辑:我忘了也提到脚本必须在head标签中
当我将其添加到我的母版页时,当前的最佳答案会抛出" ASP.NET Ajax客户端框架无法加载. "错误.它是从javascript而不是.Net编译器抛出的.如果我将ScriptManager移动到应该是的head部分,我会收到有关需要在表单标记内的ScriptManager的编译错误.
第三个答案抛出了编译器中的" 路径中的非法字符. "异常
编辑2:当我将该行添加到我的head标签时,我从IIS中收到此错误.
无法修改Controls集合,因为控件包含代码块(即<%...%>)
已解决:我从下面的答案中获取了编辑后的响应,并将其放在asp:ContentPlaceHolder元素中