【发布时间】:2013-05-23 11:24:45
【问题描述】:
我正在为我的 ASP.NET 项目使用 jQuery。我刚刚意识到,它只有在导航深度不那么深的情况下才有效。例如
-
http://localhost/myapp/index/工作 -
http://localhost/myapp/index/sites/sub/不起作用
我遇到的错误是由 jQuery 引起的。 Firebug 告诉我,那个
$未定义。
经过一番研究,我改变了我的元定义如下:
<link rel="Stylesheet" type="text/css" href="~/Css/style.css" />
<script src="~/Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="~/Scripts/jquery.uniform.min.js" type="text/javascript"></script>
但是,它没有工作。在我查看服务器响应后,CSS 链接的href 被正确替换:
<link rel="Stylesheet" type="text/css" href="../../Css/style.css" />
但是,对于我的脚本资源,相对路径没有被替换:
<script src="~/Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="~/Scripts/jquery.uniform.min.js" type="text/javascript"></script>
我期待像 ../../Scripts/jquery-1.7.2.min.js 这样的东西。
这是想要的行为吗?我应该如何正确设置脚本资源的应用程序根引用?当我在 IIS 中将我的网站作为 Web 应用程序托管时,编写 /Scripts/jquery-1.7.2.min.js 会起作用吗?
【问题讨论】:
-
这是 WebForms 还是 MVC?
-
如果您在使用
~的所有元素上没有缺少runat=server的网络表单? -
对不起,我忘了提。我在使用 WebForms!
-
@MartinSmith:Afaik,你不能将
runat="server"添加到script标签,不是吗?! -
我想这可能会有所帮助stackoverflow.com/a/16209096/1236044
标签: javascript jquery asp.net webforms