0

我有一个 ASP.NET MVC3 应用程序。在我的应用程序中,我需要能够呈现外部 HTML 页面。这些 HTML 页面存储在一个简单的文件结构中,图像、CSS 和 JS 文件存储在文件夹中。基本上打开 HTML 文件将呈现页面,因为它应该呈现。我想要的是能够以编程方式呈现此页面。

到目前为止,我已经尝试过这样的东西:

Response.WriteFile(path)

return new FilePathResult("~/Path", "text/html");

问题是资源(图像、CSS 和 JS 文件)没有被加载,因为我只加载了 html 源代码。

我该怎么做才能正确地使用其他包含的文件呈现 html 文件?

PS:我知道这个功能可能是我的应用程序中的一个安全漏洞。谢谢!

编辑:正如 Darin 指出的,我可以使用 iframe 将呈现的 HTML 页面放置在我的视图中。这是我目前正在使用的,但我想实现一个更安全的解决方案,一个不允许访问实际 HTML 页面的解决方案。

4

1 回答 1

1

我该怎么做才能正确地使用其他包含的文件呈现 html 文件?

您可以使用 iframe:

<iframe src="/somepage.html"></iframe>

也应该有效,只是此 HTML 页面中引用的return new FilePathResult("~/Path", "text/html");静态资源(CSS、javascript、图像...)需要相对于当前 url 或绝对 url(如果它们是静态 HTML,则更难)。

于 2013-03-18T10:06:13.780 回答