我有一个ASP.NET MVC3应用程序。在我的应用程序中,我需要能够呈现外部HTML页面。这些HTML页面存储在一个简单的文件结构中,图像,CSS和JS文件存储在文件夹中。基本上打开HTML文件将呈现应该呈现的页面。我想要的是能够以编程方式呈现此页面。
到目前为止,我尝试过这样的事情:
Response.WriteFile(path)
return new FilePathResult("~/Path", "text/html");
问题是资源(图像,CSS和JS文件)没有加载,因为我只加载了html源代码。
如何才能使用其他包含的文件正确呈现html文件?
P.S。:我知道这个功能在我的应用程序中可能是一个安全漏洞。谢谢!
修改:正如Darin指出的那样,我可以使用iframe将呈现的HTML页面放在我的视图中。这就是我目前正在使用的,但我想实现一个更安全的解决方案,这个解决方案不允许访问实际的HTML页面。
答案 0 :(得分:1)
如何才能使用其他包含的文件正确呈现html文件?
您可以使用iframe:
<iframe src="/somepage.html"></iframe>
return new FilePathResult("~/Path", "text/html");
也应该有用,只是这个HTML页面中引用的静态资源(CSS,javascript,images,...)需要相对于当前的url或绝对url(这是更多如果它们是静态HTML,则很难。)