我是C#和asp.net的新手,想了解以下内容: 我可以用以下格式引用jquery库吗?
src="http://~/sites/booksite/tools/js/jquery.tools.min.js"
它不会给出编译错误或其他任何内容,但要确保..
谢谢
答案 0 :(得分:3)
引用路径的~/
(波浪线+斜杠)方法是ASP.NET的东西 - 具有runat="server"
的元素上的URL(即服务器端控件)将从相对路径进行评估和扩展(其中~/
是应用程序或虚拟目录的根。)如果ASP.NET引擎没有这样做,那么它就无法完成。
为了指定根的相对路径,你应该只能使用斜杠:
src="/sites/booksite/tools/js/jquery.tools.min.js"
或者,应用runat="server"
值,它会起作用:
runat="server" src="~/sites/booksite/tools/js/jquery.tools.min.js"
但是当使用波浪号+斜杠时,http://
将不起作用。
答案 1 :(得分:0)
没有。如果jquery是您站点的本地,则可以使用〜来表示站点的根目录。前提是此src属性位于runat = server的控件上。但在这种情况下,不需要提供http://。
答案 2 :(得分:0)
不,你必须绝对不能。 "根文件夹"您的应用程序"由服务器管理,您的应用程序并不关心它是/
(开发机器)还是/prettyapp
(生产服务器)。
然而,您可以要求ASP.NET为您找出路径并填写:
<script src='<%= ResolveUrl("~/sites/booksite/tools/js/jquery.tools.min.js") %>'></script>
作为节点,不要像Disappointment先生建议的那样使用绝对路径(/something/
),如果将应用程序部署到虚拟目录,应用程序将会死亡。
答案 3 :(得分:0)
这不是正确的方法。
如果标签有runat="server"
,则只会处理Tilde,所以是的,你可以这样做,但你不应该这样做。
您希望指定脚本文件的完整http路径的唯一原因是您是通过内容分发网络(CDN)托管它。
然而,jQuery已经托管在最大的CDN上 - &gt;谷歌。见http://code.google.com/apis/libraries/devguide.html
所以,我只会利用他们免费提供的资源。