在ASP .NET母版页中管理css / js文件的相对路径

时间:2012-05-28 13:53:40

标签: asp.net master-pages

在我的主页中我有

<script src="js/jquery-1.7.1.min.js" type="text/javascript"></script>

以及大量其他脚本/链接元素。如果将页面呈现在与母版页文件相同的级别上,则可以正常工作。如果我尝试访问子文件夹中的页面,请求js / css文件是错误的。

我试过了:

<script src="/js/jquery-1.7.1.min.js" type="text/javascript"></script>

但只有在没有应用程序虚拟路径时才有效。如果我的申请位于:

http://localhost/virtualPath/subfolder/Page.aspx

然后请求转到:

http://localhost

我尝试使用ResolveClientUrl,但我的头被定义为

<head runat="server">

所以我收到了一个错误。有没有办法很好地解决这个问题?

注意:我无法从头标记中删除runat,因为我正在使用主题

2 个答案:

答案 0 :(得分:1)

您可以使用server.mappath()函数

在Init过程中添加链接

http://www.dotnetgenerics.com/Modules/TricksAndTips/ASP.NET/PowerOfTilda.aspx

http://msdn.microsoft.com/en-us/library/ms524632(v=vs.90).aspx

这在Visual Studio的预览中不起作用,但可以正常工作。

答案 1 :(得分:0)

Javascript不必出现在head部分中,因此您可以返回ResolveClientUrl解决方案并在body标记内部引用。 css应该是你主题的一部分,所以会自动添加