ResolveUrl相当于加载脚本而不使用任何服务器技术

时间:2013-03-28 15:25:07

标签: asp.net html javascript

我需要使用ASP.NET网页并将其转换为纯HTML网页。

我完成了大部分工作,除了一件事:当我设置对javascript文件的引用时,我找不到替换ASP.NET Page.ResolveUrl函数的方法:

<script src="<%= Page.ResolveUrl("~/Scripts/MyScript.js") %>" type="text/javascript"></script>

我知道有些用户发布了有关ResolveUrl函数的javascript等价的问题,但在我的情况下,你必须记住必须使用解决方案加载.js所以任何对.js库的引用都可能导致一个鸡与蛋的问题。

修改

我的网页和我的脚本都包含在框架中。网页可以部署在子文件夹中,这是我使用ResolveUrl功能(而不是硬编码路径)的主要原因。

2 个答案:

答案 0 :(得分:1)

为什么不使用相对引用,具体取决于您的页面所在的文件夹。它总是与页面相对,所以从

运行网站无关紧要

在root中你可以使用

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

如果您的信息页位于子文件夹中,请使用

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

答案 1 :(得分:0)

更改

<script src="<%= Page.ResolveUrl("~/Scripts/MyScript.js") %>" type="text/javascript"></script>

为:

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

必须以 / (根文件夹)

开头

<强>更新

尝试添加:<base href="http://yoursite.com/mainfolder"> 标题。