Html 在Razor文件中创建服务器端Iframe
我使用Razor(.cshtml)语法从服务器呈现一些页面。该页面包含一些HTML数据,我将其呈现为: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)
@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>