2010-09-20 25 views
3

我在将jQuery添加到ASP.NET MVC应用程序时遇到问题。我添加jQuery的Site.Master这样的:将jQuery添加到ASP.NET MVC应用程序

<script src="../../Scripts/jquery-1.4.1.js" type="text/javascript"></script> 

在Visual Studio 2010这是o.k. - 现在我发布一个应用到Web服务器(IIS 7)的文件夹,如:

http://localhost/AnApplication 

当调用现场我看到一个404 - 文件未在Firebug净发现 - 查看。萤火显示应用程序正在寻找:

http://localhost/Scripts/jquery-1.4.1.js 

但文件将在http://localhost/AnApplication/Scripts/jquery-1.4.1.js

我如何可以参考的jquery.js文件asp.net发现jQuery的文件,而不会产生在IIS日志404错误文件?

我试过<script src="../Scripts/jquery-1.4.1.js" type="text/javascript" /><script src="~/Scripts/jquery-1.4.1.js" type="text/javascript" />但没有成功。

回答

4

家伙,这是MVC,它不工作,这样的!

<script src="<%= Url.Content("~/Scripts/jquery-1.4.1.js") %>" type="text/javascript"></script> 

这就是你是如何做到的。

+0

啊,现在我明白了。我完全忘了这是MVC,我的坏=)+1 – RPM1984 2010-09-20 08:53:55

+0

Muchas Gracias - 完美的作品...这个简单的问题没有在我的mvc-book中得到解答... – PirzerTobias 2010-09-20 08:57:19

+2

刚刚写作时出了什么问题:

0

根据当前调用哪个控制器和动作,相对路径会发生变化。您可以从应用程序目录的绝对路径引用您的js文件:

<script src="~/Scripts/jquery-1.4.1.js" type="text/javascript"></script> 
+0

谢谢,有没有办法做到这一点有关系吗?设定应用程序的路径不在我手中 - 它可能会改变。我也可以设置相对于css文件的路径 - 这也适用 - 为什么它不适用于js? 链接href =“../../ Content/Site.css”rel =“stylesheet”type =“text/css” – PirzerTobias 2010-09-20 08:42:57

+0

更新了答案,使用路径绝对主目录 – Carvellis 2010-09-20 08:43:43

+0

这是我的原始答案。 =) – RPM1984 2010-09-20 08:44:35

0

尽量不要使用相对路径,包括。

做这样的:

<script src="~/AnApplication/Scripts/jquery-1.4.1.js" type="text/javascript"></script> 
+0

不适用于MVC – Stefanvds 2010-09-20 08:49:01

+0

但我不知道应用程序将获得的路径... – PirzerTobias 2010-09-20 08:54:10

1

尝试一些CDN的绝对路径一样<script type="text/javascript" language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

+0

这是一个很好的建议,但如果他想要例如显示它并不能解决他的问题在下载文件夹中的图像:) – Stefanvds 2010-09-20 09:15:13

相关问题