0

在我正在开发的应用程序中,Razor 视图中的脚本和链接标签在路径中使用了 tilda 斜杠,这在 ASP.NET MVC 4 应用程序中很常见:

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

正如预期的那样,生成带有根相对 URL 的 HTML:

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

基于此处的解决方案,我需要实现“导出到脱机 HTML ”功能,该功能旨在从 Razor 视图中创建脱机 HTML 文件,以便用户可以从磁盘加载 HTML。

问题

问题在于根相对路径。当我从磁盘加载导出的 HTML 文件时,上面的脚本标记将尝试从“file:///C:/folder/Scripts/file.js”加载,其中“C:/folder/”是 HTML 的位置我创建的文件。

在 ASP.NET 中运行和作为本地文件运行时,最简单/最好的方法是什么?

想法

我可以将 Razor 视图中的路径更改为相对 URL,例如:

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

但这不是我想要的,因为它可能有不同的含义。

有没有办法以某种方式将 Razor 视图渲染为 HTML,以便从 tilda 斜杠生成相对路径?

ASP.NET 如何将 tilda 斜杠 "~" 转换为根相对路径 "/" ?我可以覆盖它吗?

4

0 回答 0