我使用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>
但它只会呈现为空白区域。
答案 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>