asp.net mvc脚本和样式引用

时间:2010-05-11 17:52:05

标签: javascript asp.net css asp.net-mvc

我正在尝试包含在部署时不会中断的脚本和样式引用,但是我甚至无法使引用在本地工作。我尝试过使用Url.Content()和MVCContrib的<%=Html.ScriptInclude("")%>

我的脚本位于网站根目录下的Scripts文件夹中;我的风格是平常的 Content / css /文件夹。

脚本渲染如下:

<script type="text/javascript" src="/Scripts/MicrosoftAjax.debug.js" ></script>

这在Views文件夹的视图页面中不起作用。我做错了什么,最好的办法是什么?

我原以为Url.Content()至少可以用于样式,但在我的母版页中使用,链接呈现

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

这不起作用,因为母版页位于共享文件夹中,所以前进的方法是什么呢?

2 个答案:

答案 0 :(得分:5)

<link href="<%= ResolveUrl("~/Content/css/Site.css")%>" rel="stylesheet" type="text/css" /&GT;

适用于您的样式表。但如果您使用的是MVC2并且脚本目录中有文件,那么您可以使用新的帮助程序:

<%=Html.Script("scriptfile.js") %>

这是更好的做法,因为您还可以为发布和调试模式指定文件:

<%=Html.Script("scriptfile-min.js", "scriptfile.js") %>

答案 1 :(得分:0)

我这样做:

<link href="<%= ResolveUrl("~/Content/css/Site.css")%>" rel="stylesheet" type="text/css" />

另外,如果您不希望它尝试对您有利,请将runat = server从头标记中取出。

(编辑 - 修正了错误的引用)

更新:为了澄清,我确实在我的测试服务器(完整域,root)和生产(不同域,in)中开发(localhost:1227,root)一个子目录)。在每种情况下都很有效!