我正尝试在我的母版页中添加一个对jQuery的脚本引用,这样它就可以在任何页面上运行。它目前看起来是这样的
<script type="text/javascript" src="jquery.js"></script>
问题是,路径总是相对于正在执行的aspx页面,所以只有当"jquery.js“文件位于相同的文件夹中时,这才能起作用。要使其正常工作,我必须将行更改为:
<script type="text/javascript" src="../../jquery.js"></script>
这显然不太理想,因为它只适用于离根文件夹两级深的页面。如果我尝试执行以下操作,IIS将引发有关意外字符的错误。
<script runat="server" type="text/javascript" src="~/jquery.js"></script>
有什么想法吗?
编辑:我也忘了提一下,脚本必须在标签中
当前的答案是"ASP.NET Ajax客户端框架加载失败“。将其添加到我的母版页时出错。它是从javascript抛出的,而不是.Net编译器抛出的。如果我将表单移动到head部分,我会得到一个编译错误,说明ScriptManager需要放在一个ScriptManager标记内。
第三个答案抛出一个“path中的非法字符”。来自编译器的异常
IISEDIT2:当我将该行添加到我的head标记时,我从得到这个错误。
无法修改Controls集合,因为该控件包含代码块(即<% ... %>)
已解决:我从下面的答案中获得了编辑后的响应,并将其放入一个asp:ContentPlaceHolder元素中
发布于 2009-03-30 15:22:50
您可以使用ScriptManager
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="~/jquery.js" />
</Scripts>
</asp:ScriptManager>
编辑:如果你在你的<head>
部分绝对需要它,你可以这样做:
<head>
<script type="text/javascript"
src="<%= Page.ResolveClientUrl("~/jquery.js") %>"></script>
</head>
EDIT 2:根据注释,如果您正在观察
无法修改Controls集合,因为该控件包含代码块(即<% ... %>)
您可能需要更改以上内容才能使用数据绑定语法:
<head>
<script type="text/javascript"
src="<%# Page.ResolveClientUrl("~/jquery.js") %>"></script>
</head>
发布于 2012-11-16 18:14:00
尝试在标题部分下的母版页中使用<%#
代替<%=
<script type="text/javascript"
src="<%# ResolveUrl("~/YourScriptFolder/YourJQueryOrJavascript.js") %>">
</script>
然后在Page_Load
事件下的母版页的代码背后
Page.Header.DataBind();
现在你可以使用jQuery和JavaScript以及CSS了,你只需要改变你在ResolveUrl
中的路径,你想要处理CSS,JavaScript,jQuery的文件。
发布于 2009-03-30 15:26:42
如果你不打算访问我们的asp:ScriptManager或绝对路径,那么你可以这样做:
<script runat="server" type="text/javascript"
src='<%= Page.ResolveUrl("~/jquery.js") %>'></script>
https://stackoverflow.com/questions/697660
复制相似问题