2009-11-27 292 views
5

我爲一所大學工作,我們的主要網站有我創建的基於ASP.NET的課程信息搜索。這已經變得流行,我們公司面臨的網站(針對公司的培訓)已經在他們的網站上請求了相同的系統。我沒有參與任何一個網站的日常工作,但知道他們是使用Wordpress製作的。我能否在一些頁面中嵌入一些ASP.NET代碼?任何關於這樣做的文章?把ASP.NET放在wordpress站點

編輯: 將出現在實際標記中的ASP.NET代碼是最小它的主要的幾個ASP:字面我這樣做是故意隱藏從網站開發者大部分是我自己保存的麻煩事時,被意外刪除。

EDIT2有人做了這樣的迴應,因爲這是可能的web服務。即作爲主頁上的搜索框顯示下面的結果。

+0

你是什麼意思嵌入?所以它是人們可讀的嗎?所以當頁面被查看時代碼被執行? – 2009-11-27 10:33:15

+0

因此,代碼被執行,例如在主頁上的搜索框 – PeteT 2009-11-27 10:36:56

回答

7

既然問這個問題很久以前的事,創造理想的iframe解決方案不太我現在已經發現了一個偉大的WordPress插件被稱爲IFRAME少

http://wordpress.org/extend/plugins/iframe-less-plugin/

基本上你給它一個URL,它建立該頁面的內容直接放入你的wordpress頁面。到目前爲止,它似乎工作得很好。

0

WordPress是一個LAMP(Linux Apache MySQL PHP)應用程序,並且通常在Linux服務器上運行。我不認爲你可以將ASP.Net整合到wordpress中。但是,當然你可以提供從WordPress的ASP.Net應用程序的鏈接。

5

你可以做的是在你的ASP.NET應用程序上創建一個Web服務,然後編寫一個Wordpress插件,它將讀取該服務並將其顯示在wordpress頁面中。

+0

聽起來很有趣,所以我編輯我的帖子,看看別人的想法。在我剛剛開始研究之前,Webservices並不是我已經完成的事情,只要我能說服實現ASP.NET服務相對容易一些。我不知道如何在wordpress頁面上放置SOAP標籤。 – PeteT 2009-11-27 11:15:29

1

Wordpress使用PHP和MySql。我已經成功安裝並使用IIS 7在Windows 2008下運行它。IIS 7中新增的CGI內容也會帶來相當不錯的性能。

當然,您可以在同一臺服務器上運行單獨但相關的基於ASP.NET的站點。

您還可以運行混合的ASP.NET + PHP站點。 IIS根據URL的擴展名將傳入請求引導至特定的HttpHandler,因此沒有理由不能混合* .php & * .aspx。

其實,你也可以做這樣的事情寫一個基於.NET的HttpModule是一個PHP/IIS站點整合,做事情像日誌,集中cookie管理,HTTP頭「調整」等

如果您想將ASP.NET控件放在* .php文件中,那完全是另一回事。要做到這一點,你需要編寫一個HttpHandler來理解如何解析這樣的文件。要麼,要麼只是使用iframe ...

+0

不需要那麼複雜。只需爲IIS網站啓用PHP和ASP.NET。 – bzlm 2009-11-27 10:37:55

+0

你是什麼意思「那複雜」? – RickNZ 2009-11-27 10:44:25

+0

聽起來對我來說,petebob796對於web開發來說是相當新穎的事情,你應該補充說明,這是一種困難和先進的事情,可以嘗試一些甚至不知道你不能簡單地使用asp的人。淨代碼到wordpress頁面和PHP會運行它。 – MGOwen 2010-01-18 00:38:17

0

不,這是行不通的。您不能在由WordPress提供服務的頁面上使用ASP.NET。您可以在與Wordpress相同的網站上使用ASP.NET,例如通過讓某些目錄或某些頁面提供ASP.NET內容,而網站的其他部分仍然提供WordPress內容。

但是,如果您希望使用的ASP.NET代碼非常簡單,那麼爲什麼不用PHP來做呢? WordPress使用PHP,它與ASP.NET非常相似。

3

這並不理想,但我製作的解決方案涉及使用仍在HTML 5規範中的IFrame(事實上它們有一些新屬性),所以我認爲我沒問題。基本上,我在wordpress中製作了一個帶IFrame的頁面,並在其onload上放置了一些javascript,以使iframe根據內容大小自動調整大小(使用下面的代碼(iframe調用寬度爲100%的幀))。

function autoIframe(){ 
    try 
    { 
     var page_height = document.getElementById('frame').contentWindow.document.body.scrollHeight; 
     document.getElementById('frame').height = page_height+60; 
    } 
    catch (err) 
    { 
     window.status = err.message; 
    } 
} 

該代碼將調整在第一內容的負載,如果內容變化,它會需要某種方式被調用。我的解決方案是每次搜索完成後使用parent.autoIFrame()從innerpage調用方法。

p.s.只有iframe和外部頁面來自同一個域(沒有跨站點腳本),javascript纔會起作用。

1

簡短回答:不,不容易。 WordPress是PHP - 你不能只在PHP頁面上放置一些.net代碼。

長答案:是的,如果...如果你真的很想做到這一點,它是值得的時間和精力,你可以通過使用一些已經建議的策略來解決它,例如:host ASP.NET服務器上的ASP.NET位(或使用單聲道)並將其顯示在wordpress頁面上的iframe中。

只是想到這不是一個普通的設置,並且可能比簡單地創建或使用某種Wordpress插件更困難。

+2

其實你可以使用Phalanger(http://www.php-compiler.net/),並將整個PHP WordPress網站作爲本地.NET應用程序運行。然後,您可以直接從PHP代碼中調用.NET方法,並將其整合。 – 2011-10-04 11:44:58

6

我有類似的需求,這個線程的鼻祖有。我維護一個運行在ASP.NET/SQL上的CRM和公司網站以及一個單獨的Wordpress php公司博客。在我們使用Wordpress一年之後,這裏的人們會喜歡在我們的公司網站上編輯靜態內容,就像我們在Wordpress中做的一樣,所以我正在尋找可能的ASP.NET/Wordpress混合設置。

我聽到關於「Phalanger」好東西:http://www.php-compiler.net 這是一個PHP語言編譯器爲.NET Framework,你可以在.NET運行PHP代碼

這也是偉大的發現在這線程,你可以有PHP和ASP.NET在同一個IIS網站,這是另一個合理的測試解決方案。如果我有任何名譽(我是新來的),我會給RickNZ投票。

0

我可以在我的主機(Dinamo.net.tr) 上同時使用Asp.Net和Wordpress,而無需使用任何插件或iframe。

他們真的可以一起工作, 你只需上傳你的Asp.Net C#文件, 並同時安裝Wordpress。