以不同方式引用链接

时间:2011-08-30 15:44:13

标签: c# asp.net

我是C#和asp.net的新手,想了解以下内容: 我可以用以下格式引用jquery库吗?

src="http://~/sites/booksite/tools/js/jquery.tools.min.js"

它不会给出编译错误或其他任何内容,但要确保..

谢谢

4 个答案:

答案 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

所以,我只会利用他们免费提供的资源。