Asp.net mvc ASP.NET MVC内容文件夹-在源代码中更改了CSS/图像的URL,但没有更改JS的URL?

Asp.net mvc ASP.NET MVC内容文件夹-在源代码中更改了CSS/图像的URL,但没有更改JS的URL?,asp.net-mvc,Asp.net Mvc,如果我的Site.Master文件中有此文件: <link href="../../Content/Site.css" rel="stylesheet" type="text/css" /> 然后转到“我的站点”页面上的“查看源代码”(部署到实际服务器时),其呈现方式如下: <link href="Content/Site.css" rel="stylesheet" type="text/css" /> 但是如果我在Scripts/文件夹中有一个JS文件,它就

如果我的Site.Master文件中有此文件:

<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />

然后转到“我的站点”页面上的“查看源代码”(部署到实际服务器时),其呈现方式如下:

<link href="Content/Site.css" rel="stylesheet" type="text/css" />

但是如果我在Scripts/文件夹中有一个JS文件,它就不会模仿相同的行为。魔法在哪里?是否有某种环境导致了这种情况

谢谢


~Justin

我总是使用Url帮助器来确保

<link href="<%= Url.Content( "~/content/site.css" ) %>"
      rel="stylesheet"
      type="text/css" />

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

事实上,我已经用做同样事情的HtmlHelper扩展取代了这一切

<%= Html.Stylesheet( Url.Content( "~/content/site.css ) ) %>
<%= Html.Javascript( Url.Content( "~/scripts/jquery-1.3.2.min.js" ) ) %>

头部设置了runat=“server”选项,这意味着它在服务器端执行链接引用的“魔术”。AFAIK脚本引用不会发生这种情况。

Ah。我不知道Url.Content。这是有用的。但我仍然想理解为什么一个在页面源代码中被重写,而另一个不是。如果这是真的,既然这两件事都在大脑中,那么这两件事不是都被重写了吗?你已经想过了。我在机械方面的研究还不够深入,但事实上我知道这是可行的。从头部取出runat=“server”,看看会发生什么。我的猜测是,Microsoft专门查找链接标记,而不是脚本标记。有关更多信息,请参阅