在asp .net mvc 5中显示外部网页

时间:2014-05-02 10:04:18

标签: asp.net-mvc

我正在使用ASP NET MVC 5构建一个类项目的网站,其中我需要网站的一部分来显示来自不同网站的页面。我的目标是以某种方式将该页面嵌入到我的视图中,因此嵌入式页面仍然可以进行UI交互,就像在浏览器中直接访问页面一样(最终效果是页面呈现并允许交互但我的网站主题总是待在身边)

我知道一种方法是将它放在我的视图中的iframe中。但我想知道是否有不同的解决方案。我的导师建议使用部分视图,但我无法弄清楚如何获得相同的结果。任何人都可以提出不同的方法来实现这一目标另外,在安全性方面做到这一点的正确方法(我相信iframe是),但我想知道其他人的意见?

感谢。

1 个答案:

答案 0 :(得分:6)

我建议您使用沙盒IFrame,例如

http://www.html5rocks.com/en/tutorials/security/sandboxed-iframes/

<iframe sandbox="allow-same-origin allow-scripts allow-popups allow-forms"
    src="https://blah.com/index.html"
    style="border: 0; width:130px; height:20px;">
</iframe>

您可以调整Iframe中内容的功能(即可以运行脚本)。

我想你也可以看一下使用局部视图。我的猜测是你需要使用WebClient实例下载目标网页的HTML源代码,然后将该HTML传递到局部视图中。但我没有看到任何脚本标签如何为您正确呈现,这意味着该页面不会是交互式的。