我正在尝试包含在部署时不会中断的脚本和样式引用,但是我甚至无法使引用在本地工作。我尝试过使用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" />
这不起作用,因为母版页位于共享文件夹中,所以前进的方法是什么呢?
答案 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)一个子目录)。在每种情况下都很有效!