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

Html 在Razor文件中创建服务器端Iframe,html,asp.net-mvc,iframe,razor,Html,Asp.net Mvc,Iframe,Razor,我使用Razor(.cshtml)语法从服务器呈现一些页面。该页面包含一些HTML数据,我将其呈现为: @Html.Raw(HtmlText) 我在这个页面上加载了一些外部CSS,它们经常会把我的HTML内容弄乱在HTML正文类中。所以我想使用Iframe而不是div,但这似乎不起作用 有没有办法直接从razor视图创建Iframe?或者可能是为了防止任何外部加载的css文件排除html正文类而进行的一些黑客攻击 谢谢 编辑: 我尝试了以下方法: @Html.Raw(HtmlText)

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


@Html.Raw(HtmlText)

我在这个页面上加载了一些外部CSS,它们经常会把我的HTML内容弄乱在
HTML正文
类中。所以我想使用Iframe而不是div,但这似乎不起作用

有没有办法直接从razor视图创建Iframe?或者可能是为了防止任何外部加载的css文件排除
html正文
类而进行的一些黑客攻击

谢谢

编辑:

我尝试了以下方法:


@Html.Raw(HtmlText)
但它只会呈现为空白区域。

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

        //in your HomeController

        public PartialViewResult IframeAction()
        {
            return PartialView();
        }
4-将下面的代码粘贴到目标页面中,以调用html文件(IframeAction.cshtml)


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

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

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


“但这似乎不起作用。”…请展示您的尝试。也许差不多是对的。编辑了这个问题。啊,好的。iframe与另一个元素不同。您不能直接将内容写入其中。你必须给它另一个URL来加载。因此,您需要另一个MVC操作方法,该方法将提供要加载到iFrame中的HtmlText,然后为iFrame提供该方法的URL。解释如何使用iFrame,您可以轻松地自己搜索此类文档以了解元素
<iframe srcdoc="@Model.HTML"></iframe>