2014-06-11 13 views
0

我正在使用與主站點分開的服務器託管的公司站點。因此,例如,我正在訪問guest.company.com,主公司網站是www.company.com,這兩個網站託管在不同的服務器上(以及不同的開發解決方案)。從託管在另一臺服務器上的頁面拉出網頁的一部分

我正在處理的項目有一個來自主站點的css副本,並且具有與主站點複製的HTML共享佈局。此共享佈局用於我正在處理的網站的頂部和底部(頁眉和頁腳)。但是,我不想使用該佈局和html的副本 - 我想實際從www.company.com拉入佈局& css,以便在www.company.com上對該內容進行更改時,它反映在guest.company.com上。

因此,例如,www.company.com的底部「頁腳」區域包含在頁腳html標記中,並且我想在guest.company.com上顯示該內容。

這怎麼能在MVC4 EF中完成?

+0

您可以在鏈接標記中使用絕對路徑輕鬆地在主站點中包含CSS。 HTML是一個完全不同的故事。如果您不能對父站點的代碼/結構進行任何更改,那麼您唯一的選擇就是使用WebClient類下載父頁面,例如解析數據並僅提取您感興趣的部分並輸出到您的頁。如果您可以對父站點進行更改,則需要在那裏提供支持以獲取該站點的各個組件。例如使用web服務。 – HaukurHaf

+0

好的,我得到了CSS的一部分。對於html部分 - 我可以聯繫有權訪問www.company.com的人員。但是,您能否給我舉一個例子,說明該網站需要做些什麼,以及我需要在我身邊做些什麼? –

回答

0

沒有快速傻瓜的方法來做到這一點。

獲取HTML的快速方法是從您的代碼中進行webrequest調用,並獲取html並從中獲取所需的內容(即頁眉和頁腳)。有關如何執行此操作的示例,請參閱this msdn link。這樣,你就不需要「對方」去做任何事情。

話雖如此,它可能比這更復雜。正如評論中提到的,css路徑應該是絕對的。但可能會有圖像(在html和css中)。此外,如果頁眉和頁腳運行任何JavaScript,它們也需要包含在頁面中。當然,您可以包含www.company.com頁面中引用的每個JS文件,但有時JS會在頁面上運行。你的webrequest調用不會運行JS。爲了確保所有的javascript都運行並且生成了最終的HTML,您可以使用PhantomJS

正如您可能已經注意到的,它可能會變成很多工作,具體取決於頁眉/頁腳上的內容。根據我的經驗,一個可能的解決方案是擁有一個FTP位置,www.company.com將頭/頁腳及其資源複製進來。您可以每隔24小時從該位置將它拉出來。

相關問題