我正在使用 ASP.Net 动态数据。我的网站母版页中有以下行。
<script src="../Scripts/jquery-ui-1.8.20.custom.min.js" type="text/javascript"></script>
路径正确且文件存在。但是当我加载页面时,我可以在Firebug的网络面板中看到它找不到该文件。错误消息为"404 未找到">
方法 - 1
您应该按照以下方式修改代码...
-
~/Scripts/jquery-ui-1.8.20.custom.min.js
-
"<%#ResolveUrl("~/Scripts/jquery-ui-1.8.20.custom.min.js")%>"
在第一种情况下,将 .. 替换为 ~
方法 - 2
或者,右键单击页面并选择View Source
。 单击脚本文件的链接并检查它是否导航到实际的脚本文件?否则,请进行上述必要更改。
我不相信你的网址:)
用:
<script src='ResolveUrl("~/Scripts/jquery-ui-1.8.20.custom.min.js")' type="text/javascript"></script>
另外,请验证 - 在加载此行之前加载 jQuery.js。
当您在 url 的开头使用 ../
时,浏览器的当前 url 将作为基础。因此,仅当您位于站点根目录正好较低的一个目录级别时,该 url 才会起作用,如下所示:
http://myserver:myport/myvirtualdir/somedir/somepage.aspx
或者这个:
http://myserver:myport/myvirtualdir/somedir/
(使用默认页面或视图(
然后,浏览器将加载以下脚本:
http://myserver:myport/myvirtualdir/Scripts/jquery-ui-1.8.20.custom.min.js
但是,如果您处于任何其他目录深度,浏览器将为脚本使用错误的 url。就像您在根默认页面一样:
http://myserver:myport/myvirtualdir/Default.aspx
然后浏览器将尝试从错误的目录加载脚本:
http://myserver:myport/Scripts/jquery-ui-1.8.20.custom.min.js
这就是为什么您需要解析服务器端的 url,就像几个人在这里已经说过的那样。这将为浏览器提供脚本的工作 URL。文件路径和 URL 之间存在差异。
您获得 404 的事实意味着浏览器试图访问的 url 根本不正确,从浏览器的角度来看,这实际上是唯一有效的观点,即使您,开发人员,确信您做得对......
<script src="<%#ResolveUrl("~/Scripts/jquery-ui-1.8.20.custom.min.js")%>"></script>
正如Royi提到的,在你拥有jquery-ui.js
之前,请确保你有jquery.js
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script src="Scripts/jquery-ui-1.8.20.custom.min.js" type="text/javascript"></script>
下面是一个提示。 打开设计器site.Master
然后将.js文件从解决方案资源管理器拖放到设计器中。它会为你创造路径。