我创建了一个默认的ASP.net MVC项目。在母版页我已在顶部如何在asp.net MVC中包含js文件并在所有路径上都有一个有效路径
以下<head runat="server">
<title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
</head>
然后我需要添加一个JavaScript文件,并添加了一行从Solution Explorer拖动文件到页面如下:
<head runat="server">
<title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
</head>
当我访问该网站,看看从浏览器的HTML我看到这一点:
<head><title>
Index
</title><link href="Content/Site.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
</head>
CSS文件相对路径是固定的,而JS文件没有。该网站将部署到服务器上的另一个文件夹,而不是我在开发框中获得的根目录。
有没有适当的方法来做到这一点?
这解决了将网站安装到子目录中时的问题,因为〜被替换为网站根目录的路径。 但问题是,当我到达根的js文件是在根目录下的脚本文件夹中,而不是../../Scripts仍然存在。由于MVC将路由到不同的子文件夹,因此该脚本不是从所有路线都可用的。 我给你+1因为至少现在我有一种方式来硬编码相对于根的路径。但是我会拭目以待,看看有人能够解释为什么它适用于开箱即用的CSS,而不是JS。 – jvanderh 2009-06-04 16:38:56
我认为这个问题不是css vs Javascript,但是你只需将你的css放在你的conetne文件夹中,而不是你的脚本 – Lewis 2009-06-04 16:51:29