Asp.net ResolveUrl相当于加载脚本,无需任何服务器技术

Asp.net ResolveUrl相当于加载脚本,无需任何服务器技术,asp.net,html,javascript,Asp.net,Html,Javascript,我需要一个ASP.NET网页,并把它变成一个普通的HTML网页 我已经完成了大部分工作,除了一件事:在设置对javascript文件的引用时,我找不到替换ASP.NET Page.ResolveUrl函数的方法: <script src="<%= Page.ResolveUrl("~/Scripts/MyScript.js") %>" type="text/javascript"></script> 我知道一些用户对ResolveUrl函数的javasc

我需要一个ASP.NET网页,并把它变成一个普通的HTML网页

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

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

我知道一些用户对ResolveUrl函数的javascript等价物提出了疑问,但在我的例子中,您必须记住,必须使用该解决方案来加载.js,因此对.js库的任何引用都可能导致鸡和蛋的问题

编辑

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

更改

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

致:


必须以/开头(根文件夹)

更新

尝试添加:

标题标签。

为什么不根据页面所在的文件夹使用相对引用呢。它总是与页面相对的,所以不管你的网站是从哪里运行的

在根目录中,您可以使用

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

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

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


如果网站托管在子文件夹中,则此操作无效。例如,www.mysite.com/marketing/。。。我的网站就是这样。在这种情况下,尝试添加javascript动态,在所有url之前添加一个baseUrl。我在我的项目中使用了requirejs(requirejs.org),只需设置:
requirejs.config({baseUrl:'www.mysite.com/marketing/libs'
…更多内容:这是我提到的鸡和蛋的问题…为了加载requirejs,需要子文件夹路径。我不知道我的网站将安装在哪里(可能在两个不同的地方)所以,硬编码网站完整的url和子文件夹不是我的选择。
<script src="../Scripts/MyScript.js" type="text/javascript"></script>