2011-08-30 47 views
0

我是C#和asp.net的新手,希望知道以下内容: 我可以以下列格式引用jquery库吗?以不同的方式引用链接

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

它没有给出一个编译错误或什么,但要确保..

谢谢

回答

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://将不起作用。

+0

感谢,感谢帮助 – user710502

+0

......任何时间。 –

0

不,如果jQuery是本地的您的网站,您可以使用〜代表您的网站的根。假设这个src属性在runat = server的控件上。但是在这种情况下提供http://是不需要的。

+0

对不起,我没有得到这个 – user710502

0

不,你必须定义不能。您的“应用程序”的“根文件夹”由服务器管理,您的应用程序不在乎它是否位于/(开发计算机)或/prettyapp(生产服务器)。

但是你可以做的是让ASP.NET弄清楚你的路径,并填写好:

<script src='<%= ResolveUrl("~/sites/booksite/tools/js/jquery.tools.min.js") %>'></script> 

作为一个节点,不只是使用绝对路径(/something/)像失望先生建议,如果将其部署到虚拟目录中,应用程序将会死亡。

0

这不是正确的方法。

只有标签有runat="server"才能处理Tilde,所以是的,你可以做到,但不应该。

您希望指定脚本文件的完整http路径的唯一原因是您是否通过内容交付网络(CDN)托管它。

但是,jQuery已经可以承载最大的CDN-> Google。见http://code.google.com/apis/libraries/devguide.html

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