如何直接从响应中将 html 和 css 渲染到 iframe 中

How do you render html and css into an iframe directly from responses

本文关键字:css iframe html 何直接 响应      更新时间:2023-09-26

>Using

return Content(htmlText, "text/html");

return Content(cssText, "text/css");

在我的操作方法中,htmlText 和 cssText 是 html 和 css 字符串,如何将这些响应添加到 iframe 中,而不会影响我的主应用程序?

我怀疑这与服务器端代码关系不大,而与客户端代码关系更大。 不要将服务器端代码视为"渲染到帧",它没有帧的概念。 相反,在客户端代码中,当用户位于本身包含框架的界面上时,您可以使用以下内容导航该框架:

window.frames['framename'].document.location.href = 'someurl';

因此,假设您的服务器端代码有一个"父"操作,该操作呈现整个客户端接口。 在该接口(视图(中,有一个 iframe 本身引用另一个操作,特别是返回以下内容的操作:

return Content(htmlText, "text/html");

框架将从该操作中获取其 HTML。 服务器端代码对此一无所知,它只是响应请求。 浏览器正在管理来自帧的请求。

然后,该"父"视图可以通过更新其location.href来触发框架重新请求,如上所述。

此外,您可能希望对帧使用 POST 请求,而不仅仅是更改 URL(这只会发出 GET 请求(。 在这种情况下,"父"页面(包含框架(可以包含具有target属性的form。 像这样:

<form method="post" action="someurl" target="framename">
    form elements go here
</form>
在该表单

上触发提交(使用提交按钮或在 JavaScript 代码中(应该只导致该帧重新加载,发布表单并仅在该帧中呈现结果。