2014-12-22 29 views
0

渲染HTML和CSS到iframe直接使用如何從響應

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

return Content(cssText, "text/css"); 
在我的操作方法,其中的htmlText和cssText是HTML & CSS串

,我怎麼可以添加這些對iframe的響應沒有影響我的主應用程序?

回答

0

我懷疑這與服務器端代碼有關,而更多的是與客戶端代碼有關。不要認爲服務器端代碼是「渲染到一個框架」,它沒有框架的概念。相反,在客戶端代碼,當用戶是其本身包括一個框架的接口上,你可以瀏覽該框架的東西,如:

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代碼)應該然後僅使該框架重裝,發佈形式和渲染的結果只是在該框架。

+0

ahh ok。我會放棄這個!謝謝你的幫助! – user2330270

+0

所以這將工作的HTML,但肯定1鏈接= 1的迴應,所以你如何獲得所有3個迴應的文件? 3個帖子到iframe? – user2330270

+0

@ user2330270:CSS和JS響應不需要顯式加載。如果加載到iframe中的HTML文檔具有分別引用CSS和JS「操作」的「link」元素和「script」元素,瀏覽器將在HTML中加載HTML時請求這些資源。 – David