我在应用程序的根目录下有一个非常简单的页面。以下无法加载jQuery。但是,如果我从路径中删除〜/ ,jQuery会加载并且警报会起作用。有什么问题?
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="~/Scripts/jquery-2.0.3.js"></script>
<script>
$(document).ready(function () {
alert('hello');
});
</script>
</head>
<body>
</body>
</html>
答案 0 :(得分:1)
首先验证您的“〜”路径是否正确。这看起来像是在混淆客户端的服务器端指令。
<script src='<%= Page.ResolveUrl("~/Scripts/jquery-2.0.3.js") %>'></script>
然后我建议将document.ready脚本块移动到关闭正文标记的“正上方”。
答案 1 :(得分:1)
以下链接将向您解释aspx页面中的路径格式:
代码行更改为以下内容将帮助您从网站的根目录中获取参考。
<script src='/Scripts/jquery-2.0.3.js'></script>
从上面的链接中看到这一点:
您可以在服务器中任何与路径相关的属性中使用〜运算符 控制。 〜运算符仅被识别用于服务器控件和 服务器代码。您不能将〜运算符用于客户端元素。
答案 2 :(得分:0)
尝试简单的事情
<head runat="server">
<script src="~/Scripts/jquery-2.0.3.js"></script>
</head>
当你做头runtat ='服务器'然后你〜/应该工作好亲爱的
:d
答案 3 :(得分:0)
值得一提的是,在MVC 4 Razor 2和ASP.Net网页 2 中,“波浪线斜线功能”应该可以正常工作。
e.g。
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
您可以在默认的脚手架(_Layout.cshtml or vbhtml
)
New Web Site -> ASP.Net Web Site (Razor 2)
或Project -> C#/VB -> Web -> ASP.Net MVC 4 Web Application -> Razor Engine
个REF:
The Top Features in ASP.NET Web Pages 2
现在,您可以在标记中包含〜运算符,以便在不使用Href函数的情况下引用站点根目录。 (也就是说,Razor解析器现在可以找到并解析〜运算符,而无需对Href进行显式方法调用。)Href方法仍然有效,因此这不是一个重大变化。
例如,如果您之前有这样的标记:
<a href="@Href("~/Default.cshtml")">Home</a>
您现在可以使用这样的标记:
<a href="~/Default.cshtml">Home</a>