在Razor文件中创建服务器端Iframe

时间:2018-04-17 06:54:51

标签: html asp.net-mvc iframe razor

我使用Razor(.cshtml)语法从服务器渲染一些页面。该页面包含一些HTML数据,我将其呈现为:

<div class="html-body">
  @Html.Raw(HtmlText)
</div> 

我在这个页面上加载了一些外部CSS,这经常弄乱html-body类中的HTML内容。所以我想使用iframe而不是div。但这似乎不起作用。

有没有办法直接从剃刀视图创建iframe?或者也许有些黑客可以阻止任何外部加载的css文件排除html-body类?

由于

编辑:

我尝试了以下内容:

<iframe>
  @Html.Raw(HtmlText)
</iframe> 

但它只会呈现为空白区域。

2 个答案:

答案 0 :(得分:0)

你所要做的就是: 1-创建局部视图(.cshtml) 2-将你的所有html源代码和css文件粘贴到你命名的文件(例如iframeAction.cshtml) - 不要忘记检查真正的css,js补丁。 3-将以下代码放入HomeController

        //in your HomeController

        public PartialViewResult IframeAction()
        {
            return PartialView();
        }

4-将以下代码粘贴到您的目标网页中以调用您的html文件(IframeAction.cshtml)

<iframe src="IframeAction/cshtml" frameborder="0" style="overflow:hidden; min-height:600px; height:100%; width:100%" height="100%" width="100%"></iframe>

5-结束。 现在,在运行目标页面后,您可以在该设置的div中看到该页面中的IframeAction.cshtml。

答案 1 :(得分:0)

您可以使用srcdoc属性,例如:

<iframe srcdoc="@Model.HTML"></iframe>